Function at 0x472230
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 0x472365
cmp byte [eax], 0x2d
jne 0x472365
push 0x69
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x4722a5
mov dword [esp + 0x5c], 0xa
mov eax, dword [edi + 4]
push 0x68
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x4722b9
mov bl, 1
mov ecx, dword [edi + 4]
push 0x6e
push ecx
call fcn.00570260
add esp, 8
test eax, eax
je 0x4722d0
mov byte [esp + 0x13], 0
mov edx, dword [edi + 4]
push 0x72
push edx
call fcn.00570260
add esp, 8
test eax, eax
je 0x4722e7
mov byte [esp + 0x39], 1
mov eax, dword [edi + 4]
push 0x66
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x4722fe
mov byte [esp + 0x3b], 1
mov ecx, dword [edi + 4]
push 0x65
push ecx
call fcn.00570260
add esp, 8
test eax, eax
je 0x472315
mov byte [esp + 0x38], 1
mov edx, dword [edi + 4]
push 0x63
push edx
call fcn.00570260
add esp, 8
test eax, eax
je 0x47232c
mov byte [esp + 0x3a], 1
mov eax, dword [edi + 4]
push 0x73
push eax
call fcn.00570260
add esp, 8
test eax, eax
je 0x472346
mov dword [esp + 0x2c], 1
mov ecx, dword [edi + 4]
push 0x64
push ecx
call fcn.00570260
add esp, 8
test eax, eax
je 0x472360
mov dword [esp + 0x64], 1
mov esi, 2
mov ecx, dword [edi + esi*4]
cmp ecx, ebp
je 0x47255a
xor edx, edx
call fcn.004e2e60
mov ecx, eax
cmp ecx, ebp
mov dword [esp + 0x24], ecx
je 0x473134
cmp dword [ecx + 0x864], ebp
je 0x473134
cmp dword [ecx + 0x744], ebp
je 0x473134
cmp dword [ecx + 0x948], ebp
je 0x473134
cmp dword [ecx + 0x708], 9
jne 0x473134
test bl, bl
je 0x4723c5
mov ecx, dword [ecx]
call fcn.00496a30
mov ecx, dword [esp + 0x24]
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
jne 0x4723f1
mov al, byte [esp + 0x13]
test al, al
je 0x47255a
call fcn.00471dd0
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 0x472408
call fcn.00570543
add esp, 4
mov dword [esp + 0x30], eax
jmp 0x472426
call fcn.005705cb
add esp, 4
mov ecx, eax
call fcn.004336b0
mov edx, dword [eax*4 + 0x5a47c0]
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 0x47255a
mov ecx, dword [esp + 0xa4]
dec ecx
cmp ecx, 4
mov dword [esp + 0x34], ecx
ja case.default.0x47244c
jmp dword [ecx*4 + 0x473150]
push eax
call fcn.005705cb
mov ecx, 1
add esp, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x472470
cmp eax, 0x1000
jle 0x472474
mov dword [esp + 0x18], ecx
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
mov dword [esp + 0x1c], esi
je 0x47255a
cmp dword [edi + esi*4 + 4], ebp
jne case.default.0x47244c
push ebp
jmp 0x473136
push eax
call fcn.005705cb
mov ecx, 1
add esp, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x4724b2
cmp eax, 0x1000
jle 0x4724b6
mov dword [esp + 0x18], ecx
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
mov dword [esp + 0x1c], esi
je 0x47255a
cmp dword [edi + esi*4 + 4], ebp
jne case.default.0x47244c
push ebp
jmp 0x473136
push eax
call fcn.005705cb
mov ecx, 1
add esp, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x4724f4
cmp eax, 0x1000
jle 0x4724f8
mov dword [esp + 0x18], ecx
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
mov dword [esp + 0x1c], esi
je 0x472517
cmp dword [edi + esi*4 + 4], ebp
je 0x472517
cmp dword [edi + esi*4 + 8], ebp
je 0x472517
cmp dword [edi + esi*4 + 0xc], ebp
jne case.default.0x47244c
push ebp
jmp 0x473136
test bl, bl
push eax
je 0x47252c
call fcn.00570543
add esp, 4
jmp 0x472546
call fcn.005705cb
add esp, 4
mov ecx, eax
call fcn.004336b0
mov dword [esp + 0x18], eax
mov eax, dword [eax*4 + 0x5a47c0]
inc esi
mov dword [esp + 0x14], eax
cmp dword [edi + esi*4], ebp
mov dword [esp + 0x1c], esi
je 0x47255a
cmp dword [edi + esi*4 + 4], ebp
jne case.default.0x47244c
push ebp
jmp 0x473136
test bl, bl
push eax
je 0x472573
call fcn.00570543
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x472591
call fcn.005705cb
add esp, 4
mov ecx, eax
call fcn.004336b0
mov ecx, dword [eax*4 + 0x5a47c0]
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 + 0x864]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
cmp ebx, ebp
mov dword [esp + 0x20], ebx
je 0x4725d0
push ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebp, eax
test ebp, ebp
jne 0x4725df
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x864]
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 + 0x948]
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.0x472628
mov edx, eax
jmp dword [edx*4 + 0x473164]
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 0x472686
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 0x472684
mov al, byte [esp + 0x3b]
test al, al
je 0x472671
mov ecx, dword [esp + 0x30]
push ecx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
jmp 0x472679
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.0x4726e1
mov ecx, eax
jmp dword [ecx*4 + 0x473178]
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.005705cb
mov esi, eax
mov eax, dword [edi + 4]
push eax
call fcn.005705cb
mov edi, eax
mov eax, dword [esp + 0x20]
add esp, 8
cmp eax, 1
jne 0x472760
mov ecx, dword [esp + 0x30]
push ecx
push edi
push esi
push ebp
call ebx
mov al, byte [esp + 0x13]
test al, al
je 0x472736
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 + 0x954]
jle 0x472748
mov dword [eax + 0x954], esi
cmp edi, dword [eax + 0x958]
jle 0x4727d8
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x958], edi
jmp 0x4727d8
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 0x4727b4
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 + 0x954]
jle 0x4727c6
mov dword [eax + 0x954], ebx
mov ecx, dword [esp + 0x48]
cmp ecx, dword [eax + 0x958]
jle 0x4727d8
mov dword [eax + 0x958], 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.0x4726e1
mov eax, dword [edi + 4]
test eax, eax
jne 0x4726ef
jmp case.default.0x4726e1
lea esi, [edi + esi*4]
mov bl, 1
mov dword [esp + 0x2c], esi
mov eax, dword [esi]
push eax
call fcn.005705cb
mov ecx, dword [esi + 4]
push ecx
mov edi, eax
call fcn.005705cb
add esp, 8
test bl, bl
mov esi, eax
je 0x472847
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 0x472843
mov edx, dword [esp + 0x20]
push 0
push esi
push edi
push edx
call ebx
xor bl, bl
jmp 0x472885
push esi
push edi
push ebp
call dword [sym.imp.GDI32.dll_LineTo]
mov al, byte [esp + 0x13]
test al, al
je 0x472865
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 + 0x954]
jle 0x472877
mov dword [eax + 0x954], edi
cmp esi, dword [eax + 0x958]
jle 0x472885
mov dword [eax + 0x958], 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.0x4726e1
mov eax, dword [esi + 4]
test eax, eax
jne 0x472807
jmp case.default.0x4726e1
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], 0
jle 0x472c0f
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
lea eax, [ecx + edx*4 + 4]
mov dword [esp + 0x60], eax
jmp 0x4728e0
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.005705cb
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx]
mov esi, eax
push edx
add esi, ebx
call fcn.005705cb
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.005705cb
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.005705cb
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 0x472960
mov eax, esi
mov esi, ebx
mov ebx, eax
mov eax, dword [esp + 0x48]
cmp edi, eax
jle 0x472972
mov ecx, edi
mov edi, eax
mov eax, ecx
mov dword [esp + 0x48], eax
mov cl, byte [esp + 0x3a]
test cl, cl
je 0x472ab5
dec ebx
dec eax
cmp esi, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], esi
jg 0x4729b1
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 0x472990
mov eax, dword [esp + 0x14]
lea edx, [ebx + 2]
cmp eax, edx
lea eax, [edi + 2]
je 0x4729c2
lea eax, [edi + 1]
cmp eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
jg 0x4729f5
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 0x4729d0
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
add edx, 2
cmp eax, edx
lea eax, [ebx - 2]
je 0x472a0a
lea eax, [ebx - 1]
cmp eax, esi
mov dword [esp + 0x14], eax
jl 0x472a37
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 0x472a12
mov ecx, dword [esp + 0x14]
lea eax, [esi - 2]
cmp ecx, eax
mov ecx, dword [esp + 0x48]
jne 0x472a4b
add ecx, 0xfffffffe
jmp 0x472a4c
dec ecx
lea eax, [edi + 2]
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x472a7b
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 0x472a57
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x472bdf
mov al, byte [esp + 0x13]
test al, al
je 0x472bdf
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 0x472bd9
mov cl, byte [esp + 0x38]
test cl, cl
je 0x472af3
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 0x472bdf
mov al, byte [esp + 0x13]
test al, al
je 0x472bdf
mov ecx, dword [esp + 0x48]
mov edx, ebx
sub ecx, edi
sub edx, esi
jmp 0x472bc8
cmp ebx, esi
jne 0x472b35
cmp eax, edi
jne 0x472b35
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 0x472bdf
mov al, byte [esp + 0x13]
test al, al
je 0x472bac
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 0x472bac
mov eax, dword [esp + 0x64]
test eax, eax
je 0x472b9d
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + ecx*4 + 0x10]
test eax, eax
je 0x472b7d
cmp dword [edx + ecx*4 + 0x14], 0
je 0x472b7d
push eax
call fcn.005705cb
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.005705cb
add esp, 8
mov dword [esp + 0x50], 1
jmp 0x472b86
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 0x472bac
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 0x472bdf
mov al, byte [esp + 0x13]
test al, al
je 0x472bdf
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 + 0x954]
jle 0x472bf1
mov dword [eax + 0x954], ebx
mov ecx, dword [esp + 0x48]
cmp ecx, dword [eax + 0x958]
jle 0x472c03
mov dword [eax + 0x958], ecx
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x4728e0
mov eax, dword [esp + 0x50]
test eax, eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
je 0x472c24
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.0x4726e1
mov ecx, dword [esp + 0x1c]
mov eax, edx
mov edx, dword [eax + ecx*4 + 4]
test edx, edx
je case.default.0x4726e1
mov edx, eax
mov eax, ecx
mov ecx, dword [edx + eax*4 + 8]
test ecx, ecx
je case.default.0x4726e1
mov ecx, edx
mov edx, eax
mov eax, dword [ecx + edx*4 + 0xc]
test eax, eax
jne case.0x4726e1.2
jmp case.default.0x4726e1
mov eax, dword [edi + esi*4]
push eax
call fcn.005705cb
mov ecx, dword [edi + esi*4 + 4]
push ecx
mov dword [esp + 0x48], eax
call fcn.005705cb
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 0x472d28
call fcn.004f4570
test eax, eax
jne 0x472d28
mov ebx, dword [esp + 0x60]
push eax
push 0x104
push ebx
mov edx, esi
mov ecx, edi
call fcn.004f51f0
mov esi, eax
test esi, esi
jl 0x472d7e
mov edx, ebx
mov ecx, ebx
call fcn.0041da40
test eax, eax
je 0x472d7e
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x50]
push edx
mov edx, dword [eax]
mov ecx, ebx
call fcn.004212e0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x472d8d
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 0x472d6a
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 0x472dac
mov eax, dword [edi + esi*4 + 4]
test eax, eax
jne case.0x4726e1.3
jmp 0x472dac
mov edx, dword [edi]
push 3
push 0
xor ecx, ecx
call fcn.00479790
jmp 0x472dac
mov eax, dword [edi]
push ebx
push eax
xor edx, edx
mov ecx, 0x835
call fcn.0041d620
push eax
push 0x5a7240
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x948]
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 0x472df2
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 + 0x954], eax
mov ecx, dword [esp + 0x80]
mov dword [esi + 0x958], ecx
jmp case.default.0x4726e1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x948]
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 0x473099
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 0x473082
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x948]
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 0x47306b
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.004769e0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [ecx + esi*4]
test eax, eax
je 0x472f53
mov edx, dword [ecx + esi*4 + 4]
test edx, edx
je 0x472f53
mov edx, dword [ecx + esi*4 + 8]
test edx, edx
je 0x472f53
mov edx, dword [ecx + esi*4 + 0xc]
test edx, edx
je 0x472f53
push eax
call fcn.005705cb
mov edx, dword [esp + 0x2c]
mov ebx, eax
mov eax, dword [edx + esi*4 + 4]
push eax
call fcn.005705cb
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + esi*4 + 8]
push edx
mov dword [esp + 0x4c], eax
call fcn.005705cb
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + esi*4 + 0xc]
push ecx
call fcn.005705cb
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 0x47302d
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 + 0x954], ecx
mov dword [eax + 0x958], edx
mov eax, dword [esp + 0x34]
test eax, eax
je 0x473060
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 0x47307b
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 + 0x948]
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 + 0x864]
push edi
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov cl, byte [0x5a7240]
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.00479790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret 4