Function at 0x45e0a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
xor edi, edi
push esi
lea esi, [ebp - 0x94]
push ebx
sub esp, 0xdc
mov dword [ebp - 0xac], 0x4aa160
jmp 0x45e121
mov edx, dword [0x5770b0]
test edx, edx
jne 0x45e750
mov eax, dword [ebp - 0xb0]
cmp eax, 2
jne 0x45e750
mov dword [esp + 0xc], 2
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_GdipBitmapLockBits_error__d_n
mov dword [esp], 1
call fcn.004508d0
mov eax, dword [ebp - 0xa8]
add edi, 1
mov dword [esp], eax
call sub.gdiplus.dll_GdipDisposeImage
add dword [ebp - 0xac], 0x1c
sub esp, 4
cmp edi, 0x16
je 0x45e740
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x7c], 0xffffff
mov dword [ebp - 0x78], 0xffff0000
mov dword [ebp - 0x74], 0xff
mov dword [ebp - 0x70], 0xffffff
mov dword [ebp - 0x6c], 0xffff0000
mov dword [ebp - 0x68], 0xff
mov dword [ebp - 0x64], 0xffffff
mov dword [ebp - 0x60], 0xffff0000
mov dword [ebp - 0x5c], 0xff
mov dword [ebp - 0x58], 0xffffff
mov dword [ebp - 0x54], 0xffff0000
mov dword [ebp - 0x50], 0xff
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x7c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x21808
mov dword [esp + 8], 0x18
mov dword [esp + 4], 2
mov dword [esp], 8
call sub.gdiplus.dll_GdipCreateBitmapFromScan0
sub esp, 0x18
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x1194
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], str.Expected__d__got__d_n
call fcn.004508d0
lea eax, [ebp - 0xa4]
mov dword [ebp - 0xa4], 2
mov dword [ebp - 0xa0], 2
mov dword [ebp - 0x9c], 0xff000000
mov dword [ebp - 0x98], 0xffffffff
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa8]
mov dword [esp], eax
call sub.gdiplus.dll_GdipSetImagePalette
sub esp, 8
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x119c
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], str.Expected__d__got__d_n
call fcn.004508d0
mov eax, dword [ebp - 0xac]
mov dword [esi], 0xfefefefe
mov dword [esi + 4], 0xfefefefe
mov eax, dword [eax + 8]
mov dword [esi + 8], 0xfefefefe
mov dword [esi + 0xc], 0xfefefefe
mov ebx, eax
mov dword [esi + 0x10], 0xfefefefe
mov dword [esi + 0x14], 0xfefefefe
mov dword [ebp - 0xb4], eax
and ebx, 4
jne 0x45e778
mov eax, dword [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb4]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xa8]
mov dword [esp], eax
call sub.gdiplus.dll_GdipBitmapLockBits
sub esp, 0x14
mov dword [ebp - 0xb0], eax
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11a6
mov eax, dword [ebp - 0xb0]
test eax, eax
jne 0x45e0c0
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_GdipBitmapLockBits_error__d_n
mov dword [esp], 1
call fcn.004508d0
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11ac
mov eax, dword [ebp - 0x94]
mov dword [esp + 8], edi
cmp eax, 8
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 4], str._u:_expected_8__got__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004508d0
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11ad
mov eax, dword [ebp - 0x90]
mov dword [esp + 8], edi
cmp eax, 2
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 4], str._u:_expected_2__got__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004508d0
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11ae
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], edi
mov dword [esp + 0x10], edx
cmp edx, eax
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 4], str._u:_expected__d__got__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004508d0
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11af
mov eax, dword [ebp - 0x88]
mov dword [esp + 0x10], eax
mov ecx, dword [ebp - 0xb8]
mov dword [esp + 8], edi
cmp ecx, eax
mov dword [esp + 0xc], ecx
sete al
mov dword [esp + 4], str._u:_expected__d__got__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004508d0
call fcn.0049bde0
mov edx, dword [ebp - 0xac]
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11b0
mov eax, dword [ebp - 0x90]
imul eax, dword [ebp - 0x8c]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0xbc], ecx
cmp eax, ecx
mov dword [esp + 0x10], eax
sete al
mov dword [esp + 0xc], ecx
movzx eax, al
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_expected__d__got__d_n
mov dword [esp], eax
call fcn.004508d0
test ebx, ebx
jne 0x45e800
mov ecx, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x8c]
mov eax, ecx
imul eax, ebx
cmp dword [ebp - 0xbc], eax
je 0x45e8e0
mov dword [esp + 4], esi
mov eax, dword [ebp - 0xa8]
mov dword [esp], eax
call sub.gdiplus.dll_GdipBitmapUnlockBits
sub esp, 8
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11cf
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_GdipBitmapUnlockBits_error__d_n
call fcn.004508d0
mov dword [esi], 0xfefefefe
mov dword [esi + 4], 0xfefefefe
mov dword [esi + 8], 0xfefefefe
mov dword [esi + 0xc], 0xfefefefe
mov dword [esi + 0x10], 0xfefefefe
mov dword [esi + 0x14], 0xfefefefe
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x21808
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xa8]
mov dword [esp], eax
call sub.gdiplus.dll_GdipBitmapLockBits
sub esp, 0x14
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11d3
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_GdipBitmapLockBits_error__d_n
call fcn.004508d0
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11d4
mov eax, dword [ebp - 0x94]
mov dword [esp + 8], edi
cmp eax, 8
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 4], str._u:_expected_8__got__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004508d0
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11d5
mov eax, dword [ebp - 0x90]
mov dword [esp + 8], edi
cmp eax, 2
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 4], str._u:_expected_2__got__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004508d0
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11d6
mov eax, dword [ebp - 0x8c]
mov dword [esp + 8], edi
cmp eax, 0x18
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 4], str._u:_expected_24__got__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004508d0
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11d7
mov eax, dword [ebp - 0x88]
mov dword [esp + 8], edi
cmp eax, 0x21808
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 4], str._u:_got_wrong_pixel_format__d_n
movzx eax, al
mov dword [esp], eax
call fcn.004508d0
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11d8
mov eax, dword [ebp - 0x90]
imul eax, dword [ebp - 0x8c]
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_expected_48__got__d_n
cmp eax, 0x30
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004508d0
mov eax, dword [ebp - 0x90]
imul eax, dword [ebp - 0x8c]
cmp eax, 0x30
je 0x45e840
mov dword [esp + 4], esi
mov eax, dword [ebp - 0xa8]
mov dword [esp], eax
call sub.gdiplus.dll_GdipBitmapUnlockBits
sub esp, 8
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11e2
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str._u:_GdipBitmapUnlockBits_error__d_n
call fcn.004508d0
mov eax, dword [ebp - 0xa8]
mov dword [esp], eax
call sub.gdiplus.dll_GdipDisposeImage
sub esp, 4
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11e5
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], ebx
add edi, 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.Expected__d__got__d_n
mov dword [esp], eax
call fcn.004508d0
add dword [ebp - 0xac], 0x1c
cmp edi, 0x16
jne 0x45e121
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_GdipBitmapLockBits_error__d_n
mov dword [esp], 0
call fcn.004508d0
jmp 0x45e0fd
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x77777777
mov dword [ebp - 0x48], 0x77777777
mov dword [ebp - 0x44], 0x77777777
mov dword [ebp - 0x40], 0x77777777
mov dword [ebp - 0x3c], 0x77777777
mov dword [ebp - 0x38], 0x77777777
mov dword [ebp - 0x34], 0x77777777
mov dword [ebp - 0x30], 0x77777777
mov dword [ebp - 0x2c], 0x77777777
mov dword [ebp - 0x28], 0x77777777
mov dword [ebp - 0x24], 0x77777777
mov dword [ebp - 0x20], 0x77777777
mov dword [ebp - 0x1c], 0x77777777
mov dword [ebp - 0x18], 0x77777777
mov dword [ebp - 0x14], 0x77777777
mov dword [ebp - 0x10], 0x77777777
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x8c], 0x20
jmp 0x45e2a1
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11b2
lea eax, [ebp - 0x4c]
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_got_wrong_buffer_n
cmp dword [ebp - 0x84], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004508d0
jmp 0x45e473
mov dword [esp + 8], 0x30
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
mov ebx, eax
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11dc
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_data_should_match_n
mov dword [esp], eax
call fcn.004508d0
test ebx, ebx
je 0x45e69d
mov eax, 0x11de
call fcn.004500d0
mov eax, dword [ebp - 0x84]
mov edx, 0x30
call fcn.0044ffb0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb8]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp], str._u:_data_mismatch_for_format__x:_s_n
call fcn.00450370
jmp 0x45e69d
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x94]
imul eax, dword [edx + 4]
shr eax, 3
test byte [ebp - 0xb4], 5
setne dl
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xb8], 0x21808
sete al
or edx, eax
mov byte [ebp - 0xc9], dl
test ecx, ecx
je 0x45ea98
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0xc8], ebx
xor ebx, ebx
mov dword [ebp - 0xd0], edi
mov eax, dword [eax + 0x14]
mov edi, edx
mov dword [ebp - 0xc4], ecx
mov edx, eax
jmp 0x45e96f
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xb4]
add ebx, 1
add edi, eax
add edx, eax
cmp dword [ebp - 0xc4], ebx
je 0x45e9f0
mov eax, dword [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [ebp - 0xb4], edx
mov dword [esp], edi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x45e950
cmp byte [ebp - 0xc9], 0
mov edi, dword [ebp - 0xd0]
jne 0x45ea30
mov ebx, dword [ebp - 0xb0]
xor ebx, 1
mov eax, 0x11c9
call fcn.004500d0
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_data_shouldnt_match_n
mov dword [esp], ebx
call fcn.004508d0
mov eax, dword [ebp - 0xbc]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x45e490
cmp byte [ebp - 0xc9], 0
mov edi, dword [ebp - 0xd0]
je 0x45eaac
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11c2
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_data_should_match_n
mov dword [esp], 1
call fcn.004508d0
jmp 0x45e9c9
call fcn.0049bde0
mov dword [eax], 0x4a76df
mov dword [eax + 4], 0x11c2
mov dword [esp + 8], edi
mov dword [esp + 4], str._u:_data_should_match_n
mov dword [esp], 0
call fcn.004508d0
mov eax, 0x11c5
call fcn.004500d0
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x84]
call fcn.0044ffb0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb8]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp], str._u:_data_mismatch_for_format__x:_s_n
call fcn.00450370
jmp 0x45e9c9
xor ebx, ebx
cmp byte [ebp - 0xc9], 0
jne 0x45ea03
jmp 0x45e9ab
mov dword [ebp - 0xb0], 1
jmp 0x45e9a2