Function at 0x4782f0
Capabilities:
Capture screenshot
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x90
push ebx
push ebp
push esi
xor ebp, ebp
push edi
mov edi, ecx
mov eax, dword [edi + 4]
xor bl, bl
cmp eax, ebp
mov dword [esp + 0x60], edx
mov dword [esp + 0x28], edi
mov esi, 1
mov byte [esp + 0x39], bl
mov byte [esp + 0x3b], bl
mov byte [esp + 0x38], bl
mov byte [esp + 0x3a], bl
mov byte [esp + 0x13], 1
mov dword [esp + 0x5c], 0xd
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebp
je 0x478425
cmp byte [eax], 0x2d
jne 0x478425
push 0x69
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x478365
mov dword [esp + 0x5c], 0xa
mov eax, dword [edi + 4]
push 0x68
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x478379
mov bl, 1
mov ecx, dword [edi + 4]
push 0x6e
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x478390
mov byte [esp + 0x13], 0
mov edx, dword [edi + 4]
push 0x72
push edx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4783a7
mov byte [esp + 0x39], 1
mov eax, dword [edi + 4]
push 0x66
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4783be
mov byte [esp + 0x3b], 1
mov ecx, dword [edi + 4]
push 0x65
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4783d5
mov byte [esp + 0x38], 1
mov edx, dword [edi + 4]
push 0x63
push edx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4783ec
mov byte [esp + 0x3a], 1
mov eax, dword [edi + 4]
push 0x73
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x478406
mov dword [esp + 0x2c], 1
mov ecx, dword [edi + 4]
push 0x64
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x478420
mov dword [esp + 0x64], 1
mov esi, 2
mov ecx, dword [edi + esi*4]
cmp ecx, ebp
je 0x47861a
xor edx, edx
call fcn.004f11f0
mov ecx, eax
cmp ecx, ebp
mov dword [esp + 0x24], ecx
je 0x4791f4
cmp dword [ecx + 0x87c], ebp
je 0x4791f4
cmp dword [ecx + 0x758], ebp
je 0x4791f4
cmp dword [ecx + 0x960], ebp
je 0x4791f4
cmp dword [ecx + 0x71c], 9
jne 0x4791f4
test bl, bl
je 0x478485
mov ecx, dword [ecx]
call fcn.00499b50
mov ecx, dword [esp + 0x24]
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
jne 0x4784b1
mov al, byte [esp + 0x13]
test al, al
je 0x47861a
call fcn.00477e90
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret 4
mov bl, byte [esp + 0x39]
test bl, bl
push eax
je 0x4784c8
call fcn.005915c3
add esp, 4
mov dword [esp + 0x30], eax
jmp 0x4784e6
call fcn.0059164b
add esp, 4
mov ecx, eax
call fcn.00435dc0
mov edx, dword [eax*4 + 0x5c8f18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], edx
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
mov dword [esp + 0x1c], esi
je 0x47861a
mov ecx, dword [esp + 0xa4]
dec ecx
cmp ecx, 4
mov dword [esp + 0x34], ecx
ja case.default.0x47850c
jmp dword [ecx*4 + 0x479210]
push eax
call fcn.0059164b
mov ecx, 1
add esp, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x478530
cmp eax, 0x1000
jle 0x478534
mov dword [esp + 0x18], ecx
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
mov dword [esp + 0x1c], esi
je 0x47861a
cmp dword [edi + esi*4 + 4], ebp
jne case.default.0x47850c
push ebp
jmp 0x4791f6
push eax
call fcn.0059164b
mov ecx, 1
add esp, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x478572
cmp eax, 0x1000
jle 0x478576
mov dword [esp + 0x18], ecx
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
mov dword [esp + 0x1c], esi
je 0x47861a
cmp dword [edi + esi*4 + 4], ebp
jne case.default.0x47850c
push ebp
jmp 0x4791f6
push eax
call fcn.0059164b
mov ecx, 1
add esp, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x4785b4
cmp eax, 0x1000
jle 0x4785b8
mov dword [esp + 0x18], ecx
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
mov dword [esp + 0x1c], esi
je 0x4785d7
cmp dword [edi + esi*4 + 4], ebp
je 0x4785d7
cmp dword [edi + esi*4 + 8], ebp
je 0x4785d7
cmp dword [edi + esi*4 + 0xc], ebp
jne case.default.0x47850c
push ebp
jmp 0x4791f6
test bl, bl
push eax
je 0x4785ec
call fcn.005915c3
add esp, 4
jmp 0x478606
call fcn.0059164b
add esp, 4
mov ecx, eax
call fcn.00435dc0
mov dword [esp + 0x18], eax
mov eax, dword [eax*4 + 0x5c8f18]
inc esi
mov dword [esp + 0x14], eax
cmp dword [edi + esi*4], ebp
mov dword [esp + 0x1c], esi
je 0x47861a
cmp dword [edi + esi*4 + 4], ebp
jne case.default.0x47850c
push ebp
jmp 0x4791f6
test bl, bl
push eax
je 0x478633
call fcn.005915c3
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x478651
call fcn.0059164b
add esp, 4
mov ecx, eax
call fcn.00435dc0
mov ecx, dword [eax*4 + 0x5c8f18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
inc esi
mov dword [esp + 0x1c], esi
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x87c]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
cmp ebx, ebp
mov dword [esp + 0x20], ebx
je 0x478690
push ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebp, eax
test ebp, ebp
jne 0x47869f
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x87c]
push ebx
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret 4
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x960]
push ecx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esp + 0x5c]
mov ebx, dword [sym.imp.GDI32.dll_SetROP2]
push edx
push ebp
mov dword [esp + 0x60], eax
call ebx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call ebx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x34]
xor ebx, ebx
cmp eax, 4
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x68], ebx
ja case.default.0x4786e8
mov edx, eax
jmp dword [edx*4 + 0x479224]
mov ebx, dword [esp + 0x30]
push ebx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push ebx
push 1
mov dword [esp + 0x54], eax
push 5
jmp 0x478746
mov ebx, dword [esp + 0x30]
push ebx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x18]
push ebx
push eax
jmp 0x478744
mov al, byte [esp + 0x3b]
test al, al
je 0x478731
mov ecx, dword [esp + 0x30]
push ecx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
jmp 0x478739
push 5
call dword [sym.imp.GDI32.dll_GetStockObject]
mov edx, dword [esp + 0x30]
push edx
mov dword [esp + 0x50], eax
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov ebx, eax
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esp + 0x4c]
push edx
push ebp
mov dword [esp + 0x7c], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x20]
push ebx
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
push ebp
mov dword [esp + 0x78], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
cmp eax, 4
ja case.default.0x4787a1
mov ecx, eax
jmp dword [ecx*4 + 0x479238]
lea edi, [edi + esi*4]
mov dword [esp + 0x2c], edi
mov edx, dword [edi]
mov ebx, dword [sym.imp.GDI32.dll_SetPixelV]
push edx
call fcn.0059164b
mov esi, eax
mov eax, dword [edi + 4]
push eax
call fcn.0059164b
mov edi, eax
mov eax, dword [esp + 0x20]
add esp, 8
cmp eax, 1
jne 0x478820
mov ecx, dword [esp + 0x30]
push ecx
push edi
push esi
push ebp
call ebx
mov al, byte [esp + 0x13]
test al, al
je 0x4787f6
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
push edx
push edi
push esi
push eax
call ebx
mov eax, dword [esp + 0x24]
cmp esi, dword [eax + 0x96c]
jle 0x478808
mov dword [eax + 0x96c], esi
cmp edi, dword [eax + 0x970]
jle 0x478898
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x970], edi
jmp 0x478898
mov eax, dword [esp + 0x18]
or edx, 0xffffffff
sub edx, eax
lea ebx, [eax + esi - 1]
add esi, edx
lea ecx, [eax + edi - 1]
push ecx
or edx, 0xffffffff
sub edx, eax
push ebx
add edi, edx
push edi
push esi
push ebp
mov dword [esp + 0x5c], ecx
call dword [sym.imp.GDI32.dll_Ellipse]
mov al, byte [esp + 0x13]
test al, al
je 0x478874
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x20]
push 0xcc0020
push edi
push esi
push ebp
sub eax, edi
inc eax
push eax
mov ecx, ebx
sub ecx, esi
inc ecx
push ecx
push edi
push esi
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x24]
cmp ebx, dword [eax + 0x96c]
jle 0x478886
mov dword [eax + 0x96c], ebx
mov ecx, dword [esp + 0x48]
cmp ecx, dword [eax + 0x970]
jle 0x478898
mov dword [eax + 0x970], ecx
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 8]
add edi, 8
test eax, eax
mov dword [esp + 0x2c], edi
je case.default.0x4787a1
mov eax, dword [edi + 4]
test eax, eax
jne 0x4787af
jmp case.default.0x4787a1
lea esi, [edi + esi*4]
mov bl, 1
mov dword [esp + 0x2c], esi
mov eax, dword [esi]
push eax
call fcn.0059164b
mov ecx, dword [esi + 4]
push ecx
mov edi, eax
call fcn.0059164b
add esp, 8
test bl, bl
mov esi, eax
je 0x478907
mov ebx, dword [sym.imp.GDI32.dll_MoveToEx]
push 0
push esi
push edi
push ebp
call ebx
mov al, byte [esp + 0x13]
test al, al
je 0x478903
mov edx, dword [esp + 0x20]
push 0
push esi
push edi
push edx
call ebx
xor bl, bl
jmp 0x478945
push esi
push edi
push ebp
call dword [sym.imp.GDI32.dll_LineTo]
mov al, byte [esp + 0x13]
test al, al
je 0x478925
mov eax, dword [esp + 0x20]
push esi
push edi
push eax
call dword [sym.imp.GDI32.dll_LineTo]
mov eax, dword [esp + 0x24]
cmp edi, dword [eax + 0x96c]
jle 0x478937
mov dword [eax + 0x96c], edi
cmp esi, dword [eax + 0x970]
jle 0x478945
mov dword [eax + 0x970], esi
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 8]
add esi, 8
test eax, eax
mov dword [esp + 0x2c], esi
je case.default.0x4787a1
mov eax, dword [esi + 4]
test eax, eax
jne 0x4788c7
jmp case.default.0x4787a1
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], 0
jle 0x478ccf
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
lea eax, [ecx + edx*4 + 4]
mov dword [esp + 0x60], eax
jmp 0x4789a0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov eax, dword [ecx + edx*4]
dec ebx
push eax
mov dword [esp + 0x1c], ebx
call fcn.0059164b
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx]
mov esi, eax
push edx
add esi, ebx
call fcn.0059164b
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov edi, eax
lea eax, [ebx + ebx]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + edx*4 + 8]
push eax
add edi, ebx
call fcn.0059164b
mov edx, dword [esp + 0x34]
mov ebx, eax
mov eax, dword [esp + 0x40]
mov ecx, esi
sub ecx, eax
mov eax, dword [esp + 0x28]
add ebx, ecx
mov ecx, dword [edx + eax*4 + 0xc]
push ecx
call fcn.0059164b
mov ecx, dword [esp + 0x44]
mov edx, edi
sub edx, ecx
add eax, edx
add esp, 0x10
cmp esi, ebx
mov dword [esp + 0x48], eax
jle 0x478a20
mov eax, esi
mov esi, ebx
mov ebx, eax
mov eax, dword [esp + 0x48]
cmp edi, eax
jle 0x478a32
mov ecx, edi
mov edi, eax
mov eax, ecx
mov dword [esp + 0x48], eax
mov cl, byte [esp + 0x3a]
test cl, cl
je 0x478b75
dec ebx
dec eax
cmp esi, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], esi
jg 0x478a71
lea esp, [esp]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
push eax
push edi
push ecx
push ebp
call dword [sym.imp.GDI32.dll_SetPixelV]
mov eax, dword [esp + 0x14]
add eax, 2
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x478a50
mov eax, dword [esp + 0x14]
lea edx, [ebx + 2]
cmp eax, edx
lea eax, [edi + 2]
je 0x478a82
lea eax, [edi + 1]
cmp eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
jg 0x478ab5
lea esp, [esp]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
push eax
push ecx
push ebx
push ebp
call dword [sym.imp.GDI32.dll_SetPixelV]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
add eax, 2
cmp eax, ecx
mov dword [esp + 0x14], eax
jle 0x478a90
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
add edx, 2
cmp eax, edx
lea eax, [ebx - 2]
je 0x478aca
lea eax, [ebx - 1]
cmp eax, esi
mov dword [esp + 0x14], eax
jl 0x478af7
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
push eax
push ecx
push edx
push ebp
call dword [sym.imp.GDI32.dll_SetPixelV]
mov eax, dword [esp + 0x14]
sub eax, 2
cmp eax, esi
mov dword [esp + 0x14], eax
jge 0x478ad2
mov ecx, dword [esp + 0x14]
lea eax, [esi - 2]
cmp ecx, eax
mov ecx, dword [esp + 0x48]
jne 0x478b0b
add ecx, 0xfffffffe
jmp 0x478b0c
dec ecx
lea eax, [edi + 2]
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x478b3b
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
push ecx
push edx
push esi
push ebp
call dword [sym.imp.GDI32.dll_SetPixelV]
mov eax, dword [esp + 0x14]
sub eax, 2
lea ecx, [edi + 2]
cmp eax, ecx
mov dword [esp + 0x14], eax
jge 0x478b17
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x478c9f
mov al, byte [esp + 0x13]
test al, al
je 0x478c9f
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x20]
push 0xcc0020
push edi
push esi
push ebp
sub eax, edi
mov ecx, ebx
inc eax
push eax
sub ecx, esi
inc ecx
push ecx
push edi
push esi
push edx
jmp 0x478c99
mov cl, byte [esp + 0x38]
test cl, cl
je 0x478bb3
mov eax, dword [esp + 0x48]
push eax
push ebx
push edi
push esi
push ebp
call dword [sym.imp.GDI32.dll_Ellipse]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x478c9f
mov al, byte [esp + 0x13]
test al, al
je 0x478c9f
mov ecx, dword [esp + 0x48]
mov edx, ebx
sub ecx, edi
sub edx, esi
jmp 0x478c88
cmp ebx, esi
jne 0x478bf5
cmp eax, edi
jne 0x478bf5
mov ecx, dword [esp + 0x30]
push ecx
push edi
push esi
push ebp
call dword [sym.imp.GDI32.dll_SetPixelV]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x478c9f
mov al, byte [esp + 0x13]
test al, al
je 0x478c6c
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
push edx
push edi
push esi
push eax
call dword [sym.imp.GDI32.dll_SetPixelV]
jmp 0x478c6c
mov eax, dword [esp + 0x64]
test eax, eax
je 0x478c5d
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + ecx*4 + 0x10]
test eax, eax
je 0x478c3d
cmp dword [edx + ecx*4 + 0x14], 0
je 0x478c3d
push eax
call fcn.0059164b
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov eax, dword [ecx + edx*4 + 0x14]
push eax
call fcn.0059164b
add esp, 8
mov dword [esp + 0x50], 1
jmp 0x478c46
mov eax, 0xf
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
push eax
push ecx
push edx
push ebx
push edi
push esi
push ebp
call dword [sym.imp.GDI32.dll_RoundRect]
jmp 0x478c6c
mov eax, dword [esp + 0x48]
push eax
push ebx
push edi
push esi
push ebp
call dword [sym.imp.GDI32.dll_Rectangle]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x478c9f
mov al, byte [esp + 0x13]
test al, al
je 0x478c9f
mov ecx, dword [esp + 0x48]
sub ecx, edi
mov edx, ebx
sub edx, esi
inc ecx
inc edx
mov eax, dword [esp + 0x20]
push 0xcc0020
push edi
push esi
push ebp
push ecx
push edx
push edi
push esi
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x24]
cmp ebx, dword [eax + 0x96c]
jle 0x478cb1
mov dword [eax + 0x96c], ebx
mov ecx, dword [esp + 0x48]
cmp ecx, dword [eax + 0x970]
jle 0x478cc3
mov dword [eax + 0x970], ecx
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x4789a0
mov eax, dword [esp + 0x50]
test eax, eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
je 0x478ce4
add dword [esp + 0x1c], 2
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + eax*4 + 0x10]
add eax, 4
test ecx, ecx
mov dword [esp + 0x1c], eax
je case.default.0x4787a1
mov ecx, dword [esp + 0x1c]
mov eax, edx
mov edx, dword [eax + ecx*4 + 4]
test edx, edx
je case.default.0x4787a1
mov edx, eax
mov eax, ecx
mov ecx, dword [edx + eax*4 + 8]
test ecx, ecx
je case.default.0x4787a1
mov ecx, edx
mov edx, eax
mov eax, dword [ecx + edx*4 + 0xc]
test eax, eax
jne case.0x4787a1.2
jmp case.default.0x4787a1
mov eax, dword [edi + esi*4]
push eax
call fcn.0059164b
mov ecx, dword [edi + esi*4 + 4]
push ecx
mov dword [esp + 0x48], eax
call fcn.0059164b
mov ecx, dword [edi + esi*4 + 8]
add esi, 2
add esp, 8
xor ebx, ebx
test ecx, ecx
mov dword [esp + 0x3c], eax
je 0x478de8
call fcn.00503910
test eax, eax
jne 0x478de8
mov ebx, dword [esp + 0x60]
push eax
push 0x104
push ebx
mov edx, esi
mov ecx, edi
call fcn.00504590
mov esi, eax
test esi, esi
jl 0x478e3e
mov edx, ebx
mov ecx, ebx
call fcn.0041f5c0
test eax, eax
je 0x478e3e
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x50]
push edx
mov edx, dword [eax]
mov ecx, ebx
call fcn.00423640
mov eax, dword [esp + 0x50]
test eax, eax
je 0x478e4d
push eax
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
mov ecx, dword [esp + 0x50]
push ecx
mov ebx, eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [esp + 0x54]
push edx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x54], eax
inc esi
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x44]
push ecx
push edx
push eax
push ebp
call dword [sym.imp.GDI32.dll_ExtFloodFill]
test ebx, ebx
je 0x478e2a
mov ecx, dword [esp + 0x54]
push ecx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [esp + 0x4c]
push edx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x54], eax
cmp dword [edi + esi*4], 0
je 0x478e6c
mov eax, dword [edi + esi*4 + 4]
test eax, eax
jne case.0x4787a1.3
jmp 0x478e6c
mov edx, dword [edi]
push 3
push 0
xor ecx, ecx
call fcn.004803b0
jmp 0x478e6c
mov eax, dword [edi]
push ebx
push eax
xor edx, edx
mov ecx, 0x835
call fcn.0041f1a0
push eax
push 0x5cbac0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x960]
lea ecx, [esp + 0x78]
push ecx
push 0x18
push edx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov al, byte [esp + 0x13]
test al, al
je 0x478eb2
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x20]
push 0xcc0020
push 0
push 0
push ebp
push eax
push ecx
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x7c]
mov dword [esi + 0x96c], eax
mov ecx, dword [esp + 0x80]
mov dword [esi + 0x970], ecx
jmp case.default.0x4787a1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x960]
lea edx, [esp + 0x78]
push edx
push 0x18
push ecx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
push eax
xor ebx, ebx
push ebp
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x20]
push ecx
push edi
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
test eax, eax
mov dword [esp + 0x50], eax
je 0x479159
push eax
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x20]
push ecx
mov dword [esp + 0x5c], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, eax
test edi, edi
je 0x479142
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x960]
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push 0xcc0020
push ebx
push ebx
push edi
push ecx
push edx
push ebx
push ebx
push ebp
mov dword [esp + 0x40], eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x47912b
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
push ecx
push edx
mov edx, dword [esp + 0x34]
push eax
mov ecx, ebp
call fcn.0047d1e0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [ecx + esi*4]
test eax, eax
je 0x479013
mov edx, dword [ecx + esi*4 + 4]
test edx, edx
je 0x479013
mov edx, dword [ecx + esi*4 + 8]
test edx, edx
je 0x479013
mov edx, dword [ecx + esi*4 + 0xc]
test edx, edx
je 0x479013
push eax
call fcn.0059164b
mov edx, dword [esp + 0x2c]
mov ebx, eax
mov eax, dword [edx + esi*4 + 4]
push eax
call fcn.0059164b
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + esi*4 + 8]
push edx
mov dword [esp + 0x4c], eax
call fcn.0059164b
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + esi*4 + 0xc]
push ecx
call fcn.0059164b
add esp, 0x10
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add edx, ebx
add eax, esi
push 0
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
lea ecx, [esp + 0x94]
push ecx
push edi
call dword [sym.imp.USER32.dll_FillRect]
push 0
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [esp + 0x14]
push edx
push edi
mov dword [esp + 0x68], eax
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push 0x8800c6
push esi
push ebx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
push eax
push ecx
push edx
push esi
push ebx
push edi
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push 0xee0086
push esi
push ebx
push ebp
push eax
push ecx
push esi
push ebx
push edi
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x60]
push edx
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [esp + 0x64]
push eax
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov al, byte [esp + 0x13]
test al, al
je 0x4790ed
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
push 0xcc0020
push esi
push ebx
push edi
push ecx
push edx
push esi
push ebx
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [eax + 0x96c], ecx
mov dword [eax + 0x970], edx
mov eax, dword [esp + 0x34]
test eax, eax
je 0x479120
push eax
mov eax, dword [esp + 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0x2c]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x47913b
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [esp + 0x58]
push edx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esp + 0x50]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x960]
push edx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x6c]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push ebp
call esi
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x20]
push ecx
push edi
call esi
mov edx, dword [esp + 0x68]
mov ebx, dword [sym.imp.GDI32.dll_DeleteObject]
push edx
call ebx
mov eax, dword [esp + 0x54]
push eax
push ebp
call esi
mov ecx, dword [esp + 0x74]
push ecx
push edi
call esi
mov edx, dword [esp + 0x4c]
push edx
call ebx
mov eax, dword [esp + 0x58]
push eax
push ebp
call esi
push ebp
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [esp + 0x5c]
push ecx
push edi
call dword [sym.imp.GDI32.dll_SetROP2]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x87c]
push edi
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov cl, byte [0x5cbac0]
pop edi
pop esi
xor eax, eax
test cl, cl
pop ebp
sete al
pop ebx
add esp, 0x90
ret 4
push 7
mov edx, dword [edi]
xor ecx, ecx
push ebp
call fcn.004803b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret 4