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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov eax, dword [0x45b0dc]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetDC]
sub esp, 4
mov edi, eax
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebx, dword [sym.imp.GDI32.dll_SelectObject]
sub esp, 4
mov ecx, eax
mov dword [esp + 0x44], eax
mov eax, dword [0x45a310]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x5c], ebx
call ebx
mov eax, dword [0x4524f4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], edi
call ebx
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], edi
call dword [sym.imp.GDI32.dll_SetBkMode]
mov edx, dword [0x45ae4c]
sub esp, 8
test edx, edx
jle 0x421b90
mov eax, dword [sym.imp.GDI32.dll_BitBlt]
mov dword [esp + 0x40], 0x4568e0
mov ebp, edi
mov dword [esp + 0x48], 0x8f
mov dword [esp + 0x4c], eax
mov eax, dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x50], eax
jmp 0x4213e8
cmp al, 0x60
je 0x421920
mov dword [esp + 4], 0x2020f0
mov eax, dword [esp + 0x50]
mov dword [esp], ebp
call eax
mov edi, dword [0x42e2e8]
mov esi, dword [0x45a31c]
imul eax, dword [0x45a320], 0x16a
sub esp, 8
mov dword [esp + 0x20], 0xcc0020
mov dword [esp], ebp
cdq
idiv edi
lea ecx, [eax + esi]
mov ebx, eax
imul eax, dword [0x45a320], 0x2dd
mov dword [esp + 0x68], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 4], ecx
cdq
idiv edi
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x14], edi
add esi, eax
sub eax, ebx
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x6c]
add eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
sub edx, esi
mov dword [esp + 0x1c], esi
add edx, 1
mov dword [esp + 8], esi
mov dword [esp + 0x10], edx
call eax
sub esp, 0x24
lea eax, [esp + 0x68]
mov dword [esp + 0x10], 0x26
mov dword [esp + 0xc], eax
mov eax, dword [0x452484]
mov dword [esp + 8], 0xffffffff
add eax, 0x132
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_DrawTextW]
sub esp, 0x14
add dword [esp + 0x3c], 1
mov eax, dword [esp + 0x3c]
add dword [esp + 0x48], 0x28
add dword [esp + 0x40], 0x7c
cmp dword [0x45ae4c], eax
jle 0x421658
mov edi, dword [esp + 0x48]
mov esi, dword [0x45a320]
mov ecx, dword [0x42e2e8]
mov ebx, dword [0x45a318]
mov eax, edi
imul eax, esi
cdq
idiv ecx
add eax, ebx
mov dword [esp + 0x6c], eax
lea eax, [edi + 0x23]
imul eax, esi
cdq
idiv ecx
add eax, ebx
cmp dword [esp + 0x3c], 5
mov dword [esp + 0x74], eax
ja 0x421308
mov eax, dword [esp + 0x40]
movzx eax, byte [eax + 0x6d]
mov byte [esp + 0x54], al
and eax, 0xfffffff0
cmp al, 0x10
jne 0x421300
mov eax, dword [esp + 0x40]
movzx ecx, word [eax + 0x58]
mov dword [esp], ebp
lea eax, [ecx - 0x2710]
mov word [esp + 0x54], cx
mov ecx, dword [esp + 0x50]
cmp ax, 0x6591
sbb eax, eax
not eax
and eax, 0x2020f0
mov dword [esp + 4], eax
call ecx
mov edi, dword [0x42e2e8]
mov esi, dword [0x45a31c]
imul eax, dword [0x45a320], 0x131
sub esp, 8
mov dword [esp + 0x20], 0xcc0020
mov dword [esp], ebp
cdq
idiv edi
lea ecx, [eax + esi]
mov ebx, eax
imul eax, dword [0x45a320], 0x2a4
mov dword [esp + 0x68], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 4], ecx
cdq
idiv edi
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x14], edi
add esi, eax
sub eax, ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x6c]
add eax, 1
mov dword [esp + 0xc], eax
sub edx, esi
mov dword [esp + 0x1c], esi
add edx, 1
mov dword [esp + 8], esi
mov dword [esp + 0x10], edx
call ebx
sub esp, 0x24
mov eax, dword [esp + 0x40]
movzx eax, word [eax + 0x58]
cmp ax, 0x3e7
ja 0x4218c8
mov dword [esp + 0xc], eax
mov eax, dword [0x452484]
mov dword [esp + 4], 0x28
add eax, 0x930
mov dword [esp + 8], eax
lea eax, [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 0x54], eax
call fcn.0041b720
lea eax, [esp + 0x68]
mov dword [esp + 0x10], 0x25
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], ebp
call dword [sym.imp.USER32.dll_DrawTextW]
mov edi, dword [0x42e2e8]
imul eax, dword [0x45a320], 0x37a
mov ecx, dword [0x45a31c]
sub esp, 0x14
mov dword [esp + 0x20], 0xcc0020
cdq
mov dword [esp], ebp
idiv edi
lea esi, [eax + ecx]
mov ebx, eax
imul eax, dword [0x45a320], 0x4d9
mov dword [esp + 0x68], esi
mov dword [esp + 0x18], esi
mov dword [esp + 4], esi
cdq
idiv edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x14], edi
lea edx, [ecx + eax]
mov ecx, dword [esp + 0x6c]
sub eax, ebx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x74]
add eax, 1
mov dword [esp + 0x1c], ecx
sub edx, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
add edx, 1
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
call eax
sub esp, 0x24
mov ecx, dword [esp + 0x40]
movzx eax, word [ecx + 0x6e]
test ax, ax
je 0x4213c9
cmp word [ecx + 0x64], 0
je 0x4213c9
cmp ax, 0x64
jbe 0x421bb0
and eax, 7
mov dword [esp + 0x78], 0x2a002a
add eax, 0x23
mov word [esp + 0x7c], ax
xor eax, eax
mov word [esp + 0x7e], ax
mov eax, 0x2020f0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], ebp
call eax
sub esp, 8
lea eax, [esp + 0x68]
mov dword [esp + 0x10], 0x26
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], ebp
call dword [sym.imp.USER32.dll_DrawTextW]
sub esp, 0x14
jmp 0x4213c9
mov edi, ebp
imul eax, dword [0x45a320], 0x6e
mov esi, dword [0x42e2e8]
mov dword [esp + 0x20], 0xcc0020
mov ebx, dword [0x45a31c]
mov ebp, dword [0x45a318]
mov dword [esp], edi
cdq
idiv esi
lea ecx, [eax + ebx]
mov dword [esp + 0x3c], eax
imul eax, dword [0x45a320], 0x367
mov dword [esp + 0x68], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 4], ecx
cdq
idiv esi
mov dword [esp + 0x40], eax
add ebx, eax
imul eax, dword [0x45a320], 0x1f7
mov dword [esp + 0x70], ebx
cdq
idiv esi
add ebp, eax
mov ebx, eax
imul eax, dword [0x45a320], 0x21a
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 8], ebp
cdq
idiv esi
mov esi, dword [0x45a318]
add esi, eax
sub eax, ebx
mov ebx, dword [esp + 0x40]
add eax, 1
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], esi
sub ebx, eax
mov eax, ebx
add eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
call eax
mov eax, dword [0x4524ec]
sub esp, 0x24
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], edi
call eax
sub esp, 8
mov dword [esp + 4], 0x606060
mov eax, dword [esp + 0x50]
mov dword [esp], edi
call eax
sub esp, 8
call fcn.004238c0
mov esi, eax
test eax, eax
je 0x421b10
js 0x421b50
mov ebx, dword [0x45a31c]
mov ebp, dword [0x45a318]
imul eax, dword [0x45a320], 0x3a2
cdq
idiv dword [0x42e2e8]
lea ecx, [eax + ebx]
mov dword [esp + 0x3c], eax
imul eax, dword [0x45a320], 0x4c4
mov dword [esp + 0x68], ecx
cdq
idiv dword [0x42e2e8]
add ebx, eax
mov dword [esp + 0x40], eax
imul eax, dword [0x45a320], 0x1f4
mov dword [esp + 0x70], ebx
cdq
idiv dword [0x42e2e8]
add ebp, eax
mov ebx, eax
imul eax, dword [0x45a320], 0x21c
mov dword [esp + 0x6c], ebp
cdq
idiv dword [0x42e2e8]
mov edx, dword [0x45a318]
add edx, eax
mov dword [esp + 0x74], edx
test esi, esi
jle 0x421ab0
mov dword [esp], 0xeeeeee
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
sub esp, 4
mov ebx, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], edi
call eax
sub esp, 8
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
mov dword [esp], edi
mov edx, dword [esp + 0x68]
mov dword [esp + 0x20], 0xc000ca
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x1c], ecx
sub eax, ecx
mov dword [esp + 0x18], edx
add eax, 1
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], edx
sub eax, edx
add eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
call eax
sub esp, 0x24
mov dword [esp + 4], 0x4040c0
mov eax, dword [esp + 0x50]
mov dword [esp], edi
call eax
sub esp, 8
lea eax, [esp + 0x68]
mov dword [esp + 0x10], 0x25
mov dword [esp + 0xc], eax
mov eax, dword [0x452484]
mov dword [esp + 8], 0xffffffff
add eax, 0x164
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_DrawTextW]
sub esp, 0x14
mov dword [esp], ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
sub esp, 4
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [0x45b0dc]
sub esp, 4
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
sub esp, 8
call dword [sym.imp.GDI32.dll_GdiFlush]
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, eax
mov dword [esp + 4], 0x28
shr dx, 3
movzx edx, dx
imul edx, edx, 0x20c5
shr edx, 0x14
imul cx, dx, 0x3e8
movzx edx, dx
mov dword [esp + 0xc], edx
sub eax, ecx
movzx eax, ax
mov dword [esp + 0x10], eax
mov eax, dword [0x452484]
add eax, 0x9b2
mov dword [esp + 8], eax
lea eax, [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 0x54], eax
call fcn.0041b720
jmp 0x421524
mov esi, 0x6e
lea eax, [esp + 0x78]
mov edi, ebp
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x54], eax
mov ebp, esi
jmp 0x4219a3
mov dword [esp + 0xc], eax
mov eax, dword [0x452484]
mov esi, dword [esp + 0x54]
mov dword [esp + 4], 0x28
add eax, 0x86a
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.0041b720
lea eax, [esp + 0x68]
mov dword [esp], edi
add ebp, 0xc3
add ebx, 2
mov dword [esp + 0x10], 0x26
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
call dword [sym.imp.USER32.dll_DrawTextW]
sub esp, 0x14
cmp ebp, 0x500
je 0x421b00
movzx eax, word [ebx + 0x58]
mov dword [esp], edi
sub ax, 0x2710
cmp ax, 0x6591
sbb eax, eax
not eax
and eax, 0x2020f0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
call eax
mov esi, dword [0x45a320]
mov eax, ebp
mov ecx, dword [0x45a31c]
sub esp, 8
imul eax, esi
mov dword [esp + 0x20], 0xcc0020
mov dword [esp], edi
cdq
idiv dword [0x42e2e8]
add ecx, eax
mov dword [esp + 0x58], eax
lea eax, [ebp + 0xb0]
imul eax, esi
mov esi, dword [0x45a31c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 4], ecx
cdq
idiv dword [0x42e2e8]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x74]
add esi, eax
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x6c]
sub edx, esi
mov dword [esp + 0x1c], esi
add edx, 1
mov dword [esp + 8], esi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x58]
sub eax, edx
add eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
call eax
movzx eax, word [ebx + 0x58]
sub esp, 0x24
cmp ax, 0x3e7
jbe 0x421940
mov edx, eax
mov esi, dword [esp + 0x54]
mov dword [esp + 4], 0x28
shr dx, 3
movzx edx, dx
mov dword [esp], esi
imul edx, edx, 0x20c5
shr edx, 0x14
imul cx, dx, 0x3e8
movzx edx, dx
mov dword [esp + 0xc], edx
sub eax, ecx
movzx eax, ax
mov dword [esp + 0x10], eax
mov eax, dword [0x452484]
add eax, 0x9b2
mov dword [esp + 8], eax
call fcn.0041b720
jmp 0x421966
sub eax, ebx
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x1c], ebp
add eax, 1
mov dword [esp + 0x20], 0xcc0020
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], ecx
sub eax, ebx
mov dword [esp + 0x14], esi
add eax, 1
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov dword [esp], edi
call eax
sub esp, 0x24
jmp 0x42188f
mov ebp, edi
jmp 0x4213c9
lea eax, [esp + 0x68]
mov dword [esp + 0x10], 0x25
mov dword [esp + 0xc], eax
mov eax, dword [0x452484]
mov dword [esp + 8], 0xffffffff
add eax, 0x140
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_DrawTextW]
sub esp, 0x14
jmp 0x42174c
lea eax, [esp + 0x68]
mov dword [esp + 0x10], 0x25
mov dword [esp + 0xc], eax
mov eax, dword [0x452484]
mov dword [esp + 8], 0xffffffff
add eax, 0x150
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_DrawTextW]
sub esp, 0x14
jmp 0x42174c
mov eax, dword [sym.imp.GDI32.dll_BitBlt]
mov dword [esp + 0x4c], eax
mov eax, dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [esp + 0x50], eax
jmp 0x42165a
mov dword [esp + 0xc], eax
mov eax, dword [0x452484]
mov dword [esp + 4], 0x28
add eax, 0x9c4
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0041b720
mov eax, dword [esp + 0x40]
movzx eax, word [eax + 0x6e]
lea edx, [eax - 0x2d]
mov word [esp + 0x58], ax
xor eax, eax
cmp dx, 0xa
jbe 0x421611
jmp 0x42160c