Function at 0x46ebf0
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 0x46ed25
cmp byte [eax], 0x2d
jne 0x46ed25
push 0x69
push eax
call fcn.00563730
add esp, 8
test eax, eax
je 0x46ec65
mov dword [esp + 0x5c], 0xa
mov eax, dword [edi + 4]
push 0x68
push eax
call fcn.00563730
add esp, 8
test eax, eax
je 0x46ec79
mov bl, 1
mov ecx, dword [edi + 4]
push 0x6e
push ecx
call fcn.00563730
add esp, 8
test eax, eax
je 0x46ec90
mov byte [esp + 0x13], 0
mov edx, dword [edi + 4]
push 0x72
push edx
call fcn.00563730
add esp, 8
test eax, eax
je 0x46eca7
mov byte [esp + 0x39], 1
mov eax, dword [edi + 4]
push 0x66
push eax
call fcn.00563730
add esp, 8
test eax, eax
je 0x46ecbe
mov byte [esp + 0x3b], 1
mov ecx, dword [edi + 4]
push 0x65
push ecx
call fcn.00563730
add esp, 8
test eax, eax
je 0x46ecd5
mov byte [esp + 0x38], 1
mov edx, dword [edi + 4]
push 0x63
push edx
call fcn.00563730
add esp, 8
test eax, eax
je 0x46ecec
mov byte [esp + 0x3a], 1
mov eax, dword [edi + 4]
push 0x73
push eax
call fcn.00563730
add esp, 8
test eax, eax
je 0x46ed06
mov dword [esp + 0x2c], 1
mov ecx, dword [edi + 4]
push 0x64
push ecx
call fcn.00563730
add esp, 8
test eax, eax
je 0x46ed20
mov dword [esp + 0x64], 1
mov esi, 2
mov ecx, dword [edi + esi*4]
cmp ecx, ebp
je 0x46ef1a
xor edx, edx
call fcn.004dc5a0
mov ecx, eax
cmp ecx, ebp
mov dword [esp + 0x24], ecx
je 0x46faf4
cmp dword [ecx + 0x85c], ebp
je 0x46faf4
cmp dword [ecx + 0x73c], ebp
je 0x46faf4
cmp dword [ecx + 0x940], ebp
je 0x46faf4
cmp dword [ecx + 0x700], 9
jne 0x46faf4
test bl, bl
je 0x46ed85
mov ecx, dword [ecx]
call fcn.00491b20
mov ecx, dword [esp + 0x24]
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
jne 0x46edb1
mov al, byte [esp + 0x13]
test al, al
je 0x46ef1a
call fcn.0046e790
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 0x46edc8
call fcn.00563a14
add esp, 4
mov dword [esp + 0x30], eax
jmp 0x46ede6
call fcn.00563a6c
add esp, 4
mov ecx, eax
call fcn.00431e50
mov edx, dword [eax*4 + 0x593350]
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 0x46ef1a
mov ecx, dword [esp + 0xa4]
dec ecx
cmp ecx, 4
mov dword [esp + 0x34], ecx
ja case.default.0x46ee0c
jmp dword [ecx*4 + 0x46fb10]
push eax
call fcn.00563a6c
mov ecx, 1
add esp, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x46ee30
cmp eax, 0x1000
jle 0x46ee34
mov dword [esp + 0x18], ecx
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
mov dword [esp + 0x1c], esi
je 0x46ef1a
cmp dword [edi + esi*4 + 4], ebp
jne case.default.0x46ee0c
push ebp
jmp 0x46faf6
push eax
call fcn.00563a6c
mov ecx, 1
add esp, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x46ee72
cmp eax, 0x1000
jle 0x46ee76
mov dword [esp + 0x18], ecx
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
mov dword [esp + 0x1c], esi
je 0x46ef1a
cmp dword [edi + esi*4 + 4], ebp
jne case.default.0x46ee0c
push ebp
jmp 0x46faf6
push eax
call fcn.00563a6c
mov ecx, 1
add esp, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x46eeb4
cmp eax, 0x1000
jle 0x46eeb8
mov dword [esp + 0x18], ecx
mov eax, dword [edi + esi*4 + 4]
inc esi
cmp eax, ebp
mov dword [esp + 0x1c], esi
je 0x46eed7
cmp dword [edi + esi*4 + 4], ebp
je 0x46eed7
cmp dword [edi + esi*4 + 8], ebp
je 0x46eed7
cmp dword [edi + esi*4 + 0xc], ebp
jne case.default.0x46ee0c
push ebp
jmp 0x46faf6
test bl, bl
push eax
je 0x46eeec
call fcn.00563a14
add esp, 4
jmp 0x46ef06
call fcn.00563a6c
add esp, 4
mov ecx, eax
call fcn.00431e50
mov dword [esp + 0x18], eax
mov eax, dword [eax*4 + 0x593350]
inc esi
mov dword [esp + 0x14], eax
cmp dword [edi + esi*4], ebp
mov dword [esp + 0x1c], esi
je 0x46ef1a
cmp dword [edi + esi*4 + 4], ebp
jne case.default.0x46ee0c
push ebp
jmp 0x46faf6
test bl, bl
push eax
je 0x46ef33
call fcn.00563a14
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x46ef51
call fcn.00563a6c
add esp, 4
mov ecx, eax
call fcn.00431e50
mov ecx, dword [eax*4 + 0x593350]
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 + 0x85c]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
cmp ebx, ebp
mov dword [esp + 0x20], ebx
je 0x46ef90
push ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebp, eax
test ebp, ebp
jne 0x46ef9f
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x85c]
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 + 0x940]
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.0x46efe8
mov edx, eax
jmp dword [edx*4 + 0x46fb24]
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 0x46f046
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 0x46f044
mov al, byte [esp + 0x3b]
test al, al
je 0x46f031
mov ecx, dword [esp + 0x30]
push ecx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
jmp 0x46f039
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.0x46f0a1
mov ecx, eax
jmp dword [ecx*4 + 0x46fb38]
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.00563a6c
mov esi, eax
mov eax, dword [edi + 4]
push eax
call fcn.00563a6c
mov edi, eax
mov eax, dword [esp + 0x20]
add esp, 8
cmp eax, 1
jne 0x46f120
mov ecx, dword [esp + 0x30]
push ecx
push edi
push esi
push ebp
call ebx
mov al, byte [esp + 0x13]
test al, al
je 0x46f0f6
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 + 0x94c]
jle 0x46f108
mov dword [eax + 0x94c], esi
cmp edi, dword [eax + 0x950]
jle 0x46f198
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x950], edi
jmp 0x46f198
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 0x46f174
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 + 0x94c]
jle 0x46f186
mov dword [eax + 0x94c], ebx
mov ecx, dword [esp + 0x48]
cmp ecx, dword [eax + 0x950]
jle 0x46f198
mov dword [eax + 0x950], 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.0x46f0a1
mov eax, dword [edi + 4]
test eax, eax
jne 0x46f0af
jmp case.default.0x46f0a1
lea esi, [edi + esi*4]
mov bl, 1
mov dword [esp + 0x2c], esi
mov eax, dword [esi]
push eax
call fcn.00563a6c
mov ecx, dword [esi + 4]
push ecx
mov edi, eax
call fcn.00563a6c
add esp, 8
test bl, bl
mov esi, eax
je 0x46f207
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 0x46f203
mov edx, dword [esp + 0x20]
push 0
push esi
push edi
push edx
call ebx
xor bl, bl
jmp 0x46f245
push esi
push edi
push ebp
call dword [sym.imp.GDI32.dll_LineTo]
mov al, byte [esp + 0x13]
test al, al
je 0x46f225
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 + 0x94c]
jle 0x46f237
mov dword [eax + 0x94c], edi
cmp esi, dword [eax + 0x950]
jle 0x46f245
mov dword [eax + 0x950], 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.0x46f0a1
mov eax, dword [esi + 4]
test eax, eax
jne 0x46f1c7
jmp case.default.0x46f0a1
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], 0
jle 0x46f5cf
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
lea eax, [ecx + edx*4 + 4]
mov dword [esp + 0x60], eax
jmp 0x46f2a0
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.00563a6c
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx]
mov esi, eax
push edx
add esi, ebx
call fcn.00563a6c
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.00563a6c
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.00563a6c
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 0x46f320
mov eax, esi
mov esi, ebx
mov ebx, eax
mov eax, dword [esp + 0x48]
cmp edi, eax
jle 0x46f332
mov ecx, edi
mov edi, eax
mov eax, ecx
mov dword [esp + 0x48], eax
mov cl, byte [esp + 0x3a]
test cl, cl
je 0x46f475
dec ebx
dec eax
cmp esi, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], esi
jg 0x46f371
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 0x46f350
mov eax, dword [esp + 0x14]
lea edx, [ebx + 2]
cmp eax, edx
lea eax, [edi + 2]
je 0x46f382
lea eax, [edi + 1]
cmp eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
jg 0x46f3b5
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 0x46f390
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
add edx, 2
cmp eax, edx
lea eax, [ebx - 2]
je 0x46f3ca
lea eax, [ebx - 1]
cmp eax, esi
mov dword [esp + 0x14], eax
jl 0x46f3f7
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 0x46f3d2
mov ecx, dword [esp + 0x14]
lea eax, [esi - 2]
cmp ecx, eax
mov ecx, dword [esp + 0x48]
jne 0x46f40b
add ecx, 0xfffffffe
jmp 0x46f40c
dec ecx
lea eax, [edi + 2]
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x46f43b
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 0x46f417
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x46f59f
mov al, byte [esp + 0x13]
test al, al
je 0x46f59f
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 0x46f599
mov cl, byte [esp + 0x38]
test cl, cl
je 0x46f4b3
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 0x46f59f
mov al, byte [esp + 0x13]
test al, al
je 0x46f59f
mov ecx, dword [esp + 0x48]
mov edx, ebx
sub ecx, edi
sub edx, esi
jmp 0x46f588
cmp ebx, esi
jne 0x46f4f5
cmp eax, edi
jne 0x46f4f5
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 0x46f59f
mov al, byte [esp + 0x13]
test al, al
je 0x46f56c
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 0x46f56c
mov eax, dword [esp + 0x64]
test eax, eax
je 0x46f55d
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + ecx*4 + 0x10]
test eax, eax
je 0x46f53d
cmp dword [edx + ecx*4 + 0x14], 0
je 0x46f53d
push eax
call fcn.00563a6c
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.00563a6c
add esp, 8
mov dword [esp + 0x50], 1
jmp 0x46f546
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 0x46f56c
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 0x46f59f
mov al, byte [esp + 0x13]
test al, al
je 0x46f59f
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 + 0x94c]
jle 0x46f5b1
mov dword [eax + 0x94c], ebx
mov ecx, dword [esp + 0x48]
cmp ecx, dword [eax + 0x950]
jle 0x46f5c3
mov dword [eax + 0x950], ecx
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x46f2a0
mov eax, dword [esp + 0x50]
test eax, eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
je 0x46f5e4
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.0x46f0a1
mov ecx, dword [esp + 0x1c]
mov eax, edx
mov edx, dword [eax + ecx*4 + 4]
test edx, edx
je case.default.0x46f0a1
mov edx, eax
mov eax, ecx
mov ecx, dword [edx + eax*4 + 8]
test ecx, ecx
je case.default.0x46f0a1
mov ecx, edx
mov edx, eax
mov eax, dword [ecx + edx*4 + 0xc]
test eax, eax
jne case.0x46f0a1.2
jmp case.default.0x46f0a1
mov eax, dword [edi + esi*4]
push eax
call fcn.00563a6c
mov ecx, dword [edi + esi*4 + 4]
push ecx
mov dword [esp + 0x48], eax
call fcn.00563a6c
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 0x46f6e8
call fcn.004ed210
test eax, eax
jne 0x46f6e8
mov ebx, dword [esp + 0x60]
push eax
push 0x104
push ebx
mov edx, esi
mov ecx, edi
call fcn.004ede70
mov esi, eax
test esi, esi
jl 0x46f73e
mov edx, ebx
mov ecx, ebx
call fcn.0041ce00
test eax, eax
je 0x46f73e
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x50]
push edx
mov edx, dword [eax]
mov ecx, ebx
call fcn.004203e0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x46f74d
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 0x46f72a
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 0x46f76c
mov eax, dword [edi + esi*4 + 4]
test eax, eax
jne case.0x46f0a1.3
jmp 0x46f76c
mov edx, dword [edi]
push 3
push 0
xor ecx, ecx
call fcn.00475f10
jmp 0x46f76c
mov eax, dword [edi]
push ebx
push eax
xor edx, edx
mov ecx, 0x835
call fcn.0041c9e0
push eax
push 0x595d60
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x940]
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 0x46f7b2
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 + 0x94c], eax
mov ecx, dword [esp + 0x80]
mov dword [esi + 0x950], ecx
jmp case.default.0x46f0a1
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x940]
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 0x46fa59
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 0x46fa42
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x940]
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 0x46fa2b
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.00473320
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [ecx + esi*4]
test eax, eax
je 0x46f913
mov edx, dword [ecx + esi*4 + 4]
test edx, edx
je 0x46f913
mov edx, dword [ecx + esi*4 + 8]
test edx, edx
je 0x46f913
mov edx, dword [ecx + esi*4 + 0xc]
test edx, edx
je 0x46f913
push eax
call fcn.00563a6c
mov edx, dword [esp + 0x2c]
mov ebx, eax
mov eax, dword [edx + esi*4 + 4]
push eax
call fcn.00563a6c
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + esi*4 + 8]
push edx
mov dword [esp + 0x4c], eax
call fcn.00563a6c
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + esi*4 + 0xc]
push ecx
call fcn.00563a6c
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 0x46f9ed
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 + 0x94c], ecx
mov dword [eax + 0x950], edx
mov eax, dword [esp + 0x34]
test eax, eax
je 0x46fa20
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 0x46fa3b
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 + 0x940]
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 + 0x85c]
push edi
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov cl, byte [0x595d60]
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.00475f10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret 4