Function at 0x42cc50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x486434
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push ebp
push esi
mov esi, ecx
lea ecx, [esp + 0x18]
push edi
mov eax, dword [esi + 0x44]
xor ebx, ebx
push ecx
push eax
mov dword [esp + 0x24], ebx
call sub.gdiplus.dll_GdipCreateFromHDC
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], eax
push 0xff283643
push eax
mov dword [esp + 0x7c], ebx
call sub.gdiplus.dll_GdipGraphicsClear
cmp eax, ebx
je 0x42cca5
mov dword [esp + 0x34], eax
mov ecx, dword [esi + 0x4c]
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
lea ecx, [esp + 0x48]
shr eax, 0x1f
push ecx
push ebx
add edx, eax
push 0x3f800000
push 0xff000000
mov edi, edx
mov dword [esp + 0x58], ebx
call sub.gdiplus.dll_GdipCreatePen1
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x48]
mov edx, dword [esp + 0x48]
push edi
push eax
mov eax, dword [esp + 0x38]
push edi
push ebx
push edx
push eax
call sub.gdiplus.dll_GdipDrawLineI
cmp eax, ebx
je 0x42ccf5
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x38]
inc edi
push ecx
push ebx
push 0x3f800000
push 0xff8da0ae
mov dword [esp + 0x48], ebx
call sub.gdiplus.dll_GdipCreatePen1
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x48]
mov edx, dword [esp + 0x38]
push edi
push eax
mov eax, dword [esp + 0x38]
push edi
push ebx
push edx
push eax
mov byte [esp + 0x8c], 2
call sub.gdiplus.dll_GdipDrawLineI
cmp eax, ebx
je 0x42cd39
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x4c]
inc edi
mov ebp, dword [esi + 0x48]
push 6
lea ecx, [edi + 5]
mov dword [esp + 0x64], 0x48ab14
mov dword [esp + 0x1c], ecx
lea ecx, [eax + eax*4]
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
lea ecx, [esp + 0x64]
shr eax, 0x1f
lea ebx, [edx + eax + 5]
call fcn.0041a4f0
lea ecx, [esp + 0x20]
mov dword [esp + 0x60], 0x48ab1c
push ecx
push 0xff567081
mov dword [esp + 0x28], 0
call sub.gdiplus.dll_GdipCreateSolidFill
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x64], eax
mov edx, dword [esp + 0x30]
push ebx
push ebp
push edi
push 0
push eax
push edx
mov byte [esp + 0x8c], 3
call sub.gdiplus.dll_GdipFillRectangleI
push eax
lea ecx, [esp + 0x34]
call fcn.004448c0
add edi, ebx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push edi
lea eax, [edi + 5]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x48]
push eax
push edi
push 0
push ecx
push edx
call sub.gdiplus.dll_GdipDrawLineI
test eax, eax
je 0x42cde4
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x48]
add edi, 0x14
sub eax, 0x23
mov dword [esp + 0x1c], edi
cdq
sub eax, edx
mov ecx, dword [esi + 0x490]
mov edi, eax
mov ebx, dword [0x48a5a4]
sar edi, 1
xor ebp, ebp
lea eax, [edi + edi*2]
cdq
and edx, 3
add eax, edx
sar eax, 2
test ecx, ecx
mov dword [esp + 0x14], eax
jle 0x42cf7c
mov ecx, dword [esi + 0x48c]
mov edx, dword [ecx + ebp*4]
mov word [edx + 0x10], 1
mov ecx, dword [esi + 0x48c]
mov ecx, dword [ecx + ebp*4]
mov dx, word [ecx + 0x14]
cmp dx, 1
jne 0x42ce65
mov edx, dword [esp + 0x18]
add eax, edx
push eax
lea eax, [edi + 0xf]
push eax
push edx
push 0xf
push ecx
call ebx
mov ecx, dword [esi + 0x48c]
mov edx, dword [ecx + ebp*4]
mov eax, dword [edx]
mov dword [esp + 0x50], eax
jmp 0x42cf69
cmp dx, 2
jne 0x42ce97
mov edx, dword [esp + 0x18]
add eax, edx
push eax
lea eax, [edi + edi + 0x14]
push eax
push edx
lea edx, [edi + 0x14]
push edx
push ecx
call ebx
mov eax, dword [esi + 0x48c]
mov ecx, dword [eax + ebp*4]
mov eax, dword [ecx + 8]
sub eax, 0x76
mov dword [esp + 0x58], eax
jmp 0x42cf69
cmp dx, 4
jne 0x42cf6d
mov ecx, dword [ecx + 0x1c]
push str.GAME
push 0
push 2
lea edx, [esp + 0x1c]
push ecx
push edx
call fcn.00436630
add esp, 0x14
test eax, eax
je 0x42cf2f
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x30], eax
mov edx, dword [eax + 4]
mov dword [esp + 0x28], 0
push edx
call sub.gdiplus.dll_GdipGetImageWidth
test eax, eax
je 0x42cee8
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], edx
lea ecx, [esp + 0x24]
mov edx, dword [eax + 4]
push ecx
push edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], 0
call sub.gdiplus.dll_GdipGetImageHeight
test eax, eax
je 0x42cf19
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
test ecx, ecx
mov dword [esp + 0x44], edx
je 0x42cf2f
mov eax, dword [ecx]
push 1
call dword [eax]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
mov ecx, dword [esi + 0x48]
add eax, edx
mov edx, dword [esp + 0x40]
push eax
lea eax, [ecx + edx]
cdq
sub eax, edx
mov edx, dword [esp + 0x44]
sar eax, 1
push eax
mov eax, dword [esp + 0x30]
push eax
mov eax, ecx
mov ecx, dword [esi + 0x48c]
sub eax, edx
cdq
sub eax, edx
mov edx, dword [ecx + ebp*4]
sar eax, 1
push eax
push edx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x490]
inc ebp
cmp ebp, ecx
jl 0x42ce1e
mov ecx, dword [esp + 0x18]
xor ebp, ebp
lea edi, [eax + ecx + 5]
mov eax, dword [esi + 0x47c]
test eax, eax
jle 0x42d187
mov edx, dword [esi + 0x478]
mov eax, dword [edx + ebp*4]
mov word [eax + 0x1a], 1
mov ecx, dword [esi + 0x478]
xor eax, eax
mov ecx, dword [ecx + ebp*4]
mov ax, word [ecx + 0x1c]
dec eax
cmp eax, 3
ja case.default.0x42cfbc
jmp dword [eax*4 + 0x42d2e0]
mov eax, dword [esi + 0x48]
cdq
and edx, 3
add eax, edx
mov edx, dword [ecx + 0x14]
sar eax, 2
add edx, edi
push edx
lea edx, [eax - 5]
push edx
mov edx, dword [ecx + 0x10]
sub eax, edx
push edi
sub eax, 5
push eax
push ecx
call ebx
lea eax, [esp + 0x2c]
push str.IDS_TIP_BROWSE
push eax
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
mov edx, dword [esi + 0x478]
mov ecx, dword [eax]
mov byte [esp + 0x74], 4
mov eax, dword [edx + ebp*4]
xor edx, edx
mov dx, word [eax + 0x1c]
inc edx
push edx
push eax
push ecx
push esi
lea ecx, [esi + 0x49c]
call fcn.00475b91
mov byte [esp + 0x74], 3
lea ecx, [esp + 0x2c]
jmp 0x42d173
mov eax, dword [esi + 0x48]
cdq
and edx, 3
add eax, edx
mov edx, dword [ecx + 0x14]
add edx, edi
push edx
mov edx, dword [ecx + 0x10]
sar eax, 2
lea edx, [edx + eax + 5]
add eax, 5
push edx
push edi
push eax
push ecx
call ebx
lea eax, [esp + 0x28]
push str.IDS_TIP_CAPIMAGE
push eax
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
mov edx, dword [esi + 0x478]
mov ecx, dword [eax]
mov byte [esp + 0x74], 5
mov eax, dword [edx + ebp*4]
xor edx, edx
mov dx, word [eax + 0x1c]
inc edx
push edx
push eax
push ecx
push esi
lea ecx, [esi + 0x49c]
call fcn.00475b91
mov byte [esp + 0x74], 3
lea ecx, [esp + 0x28]
jmp 0x42d173
mov eax, dword [esi + 0x48]
lea eax, [eax + eax*2]
cdq
and edx, 3
add eax, edx
mov edx, dword [ecx + 0x14]
sar eax, 2
add edx, edi
push edx
lea edx, [eax - 5]
push edx
mov edx, dword [ecx + 0x10]
sub eax, edx
push edi
sub eax, 5
push eax
push ecx
call ebx
lea eax, [esp + 0x24]
push str.IDS_TIP_BROWSE
push eax
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
mov edx, dword [esi + 0x478]
mov ecx, dword [eax]
mov byte [esp + 0x74], 6
mov eax, dword [edx + ebp*4]
xor edx, edx
mov dx, word [eax + 0x1c]
inc edx
push edx
push eax
push ecx
push esi
lea ecx, [esi + 0x49c]
call fcn.00475b91
mov byte [esp + 0x74], 3
lea ecx, [esp + 0x24]
jmp 0x42d173
mov eax, dword [esi + 0x48]
lea eax, [eax + eax*2]
cdq
and edx, 3
add eax, edx
mov edx, dword [ecx + 0x14]
add edx, edi
push edx
mov edx, dword [ecx + 0x10]
sar eax, 2
lea edx, [edx + eax + 5]
add eax, 5
push edx
push edi
push eax
push ecx
call ebx
lea eax, [esp + 0x18]
push str.IDS_TIP_CAPIMAGE
push eax
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
mov edx, dword [esi + 0x478]
mov ecx, dword [eax]
mov byte [esp + 0x74], 7
mov eax, dword [edx + ebp*4]
xor edx, edx
mov dx, word [eax + 0x1c]
inc edx
push edx
push eax
push ecx
push esi
lea ecx, [esi + 0x49c]
call fcn.00475b91
mov byte [esp + 0x74], 3
lea ecx, [esp + 0x18]
call fcn.0047b122
mov eax, dword [esi + 0x47c]
inc ebp
cmp ebp, eax
jl 0x42cf94
mov eax, dword [esi + 0x504]
test eax, eax
jne 0x42d1ef
push 0x80
call fcn.0047ae5b
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
mov byte [esp + 0x74], 8
je 0x42d1b4
mov ecx, eax
call fcn.004350f0
jmp 0x42d1b6
xor eax, eax
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x1c]
push 0x433628
mov byte [esp + 0x78], 3
sub esp, 0x10
lea ecx, [ebx + 0x76]
mov ebp, esp
lea edx, [edi + 0x2d]
push esi
mov dword [esi + 0x504], eax
mov dword [ebp], ebx
mov dword [ebp + 4], edi
mov dword [ebp + 8], ecx
mov ecx, eax
mov dword [ebp + 0xc], edx
call fcn.004351d0
jmp 0x42d20f
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
mov eax, dword [eax + 0x1c]
push 5
push 0
push 0
push ecx
push edx
push 0
push eax
call dword [0x48a594]
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 0x508]
test eax, eax
jne 0x42d276
push 0x80
call fcn.0047ae5b
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
mov byte [esp + 0x74], 9
je 0x42d23c
mov ecx, eax
call fcn.004350f0
jmp 0x42d23e
xor eax, eax
mov ebx, dword [esp + 0x58]
push 0x433628
sub esp, 0x10
lea edx, [edi + 0x2d]
mov ebp, esp
lea ecx, [ebx + 0x76]
push esi
mov byte [esp + 0x8c], 3
mov dword [ebp], ebx
mov dword [esi + 0x508], eax
mov dword [ebp + 4], edi
mov dword [ebp + 8], ecx
mov ecx, eax
mov dword [ebp + 0xc], edx
call fcn.004351d0
jmp 0x42d28e
mov ecx, dword [esp + 0x58]
mov edx, dword [eax + 0x1c]
push 5
push 0
push 0
push edi
push ecx
push 0
push edx
call dword [0x48a594]
mov ecx, esi
call fcn.0042d370
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], 0x48ab14
push eax
call sub.gdiplus.dll_GdipDeleteBrush
mov ecx, dword [esp + 0x38]
push ecx
call sub.gdiplus.dll_GdipDeletePen
mov edx, dword [esp + 0x48]
push edx
call sub.gdiplus.dll_GdipDeletePen
mov eax, dword [esp + 0x30]
push eax
call sub.gdiplus.dll_GdipDeleteGraphics
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
mov eax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x68
ret