Function at 0x430350
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6a2450
mov eax, dword fs:[0]
push eax
sub esp, 0x49c
mov eax, dword [0x778400]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x384], 0x14
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0xc]
sub ecx, 0x28
mov dword [ebp - 0x37c], ecx
mov dword [ebp - 0x380], 0x31
mov edx, dword [ebp - 0x380]
add edx, 0x1a
mov dword [ebp - 0x378], edx
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x34c], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x34c], 0
je 0x43042e
push 0xa8
mov ecx, dword [ebp - 0x34c]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x384]
mov dword [eax], ecx
mov edx, dword [ebp - 0x380]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x37c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x378]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x34c]
call fcn.00506d60
mov dword [ebp - 0x35c], eax
jmp 0x430438
mov dword [ebp - 0x35c], 0
mov edx, dword [ebp - 0x35c]
mov dword [ebp - 0x3d8], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x3d8]
mov dword [eax + 0x9c], ecx
push 0
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 0x9c]
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x9c]
mov eax, dword [edx + 0x54]
call eax
push 0x3d
call fcn.004f50a0
add esp, 4
push eax
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0x9c]
mov eax, dword [ebp - 0x2ec]
mov edx, dword [edx]
mov ecx, dword [eax + 0x9c]
mov eax, dword [edx + 0x18]
call eax
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0x9c]
mov dword [ebp - 0x3dc], edx
lea eax, [ebp - 0x3dc]
push eax
mov ecx, dword [ebp - 0x2ec]
add ecx, 0x5c
call fcn.00444ee0
push 0x5c
push 0
lea ecx, [ebp - 0x148]
push ecx
call fcn.0066eb10
add esp, 0xc
mov dword [ebp - 0x138], 0x2bc
push 0x60
push 0x5a
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0x10
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x148], eax
lea ecx, [ebp - 0x490]
push ecx
mov ecx, dword [ebp - 0x2ec]
call fcn.00441690
mov dword [ebp - 0x3c4], eax
mov ecx, dword [ebp - 0x3c4]
call fcn.0041b040
push eax
push 0x740e5c
push 0x20
lea edx, [ebp - 0x12c]
push edx
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x490]
call fcn.00419320
lea eax, [ebp - 0x148]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x3ec], eax
mov ecx, dword [ebp - 0x3ec]
push ecx
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 0x9c]
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x9c]
mov eax, dword [edx + 0x20]
call eax
push 0x4a4a4a
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0x9c]
mov eax, dword [ebp - 0x2ec]
mov edx, dword [edx]
mov ecx, dword [eax + 0x9c]
mov eax, dword [edx + 0x24]
call eax
push 0x24
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0x9c]
mov eax, dword [ebp - 0x2ec]
mov edx, dword [edx]
mov ecx, dword [eax + 0x9c]
mov eax, dword [edx + 0x28]
call eax
mov ecx, dword [ebp - 0x2ec]
mov dword [ecx + 0x1364], 0x14
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 0xc]
sub eax, 0x14
mov ecx, dword [ebp - 0x2ec]
mov dword [ecx + 0x136c], eax
mov edx, dword [ebp - 0x2ec]
mov dword [edx + 0x1368], 0x57
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0x10]
sub ecx, 0x3c
mov edx, dword [ebp - 0x2ec]
mov dword [edx + 0x1370], ecx
push 0xc
lea ecx, [ebp - 0x24]
call fcn.00413f70
lea eax, [ebp - 0x24]
push eax
call fcn.00415680
add esp, 4
mov dword [ebp - 4], 1
mov dword [ebp - 0x350], 0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x374], ecx
push 4
lea ecx, [ebp - 0x14]
call fcn.00413f70
lea edx, [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x374]
call fcn.00416630
push 4
lea ecx, [ebp - 0x18]
call fcn.00413f70
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x374]
call fcn.00416660
jmp 0x430697
lea ecx, [ebp - 0x14]
call fcn.00445b20
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0041fb00
movzx edx, al
test edx, edx
je 0x43149d
lea ecx, [ebp - 0x14]
call fcn.00416e70
push eax
lea ecx, [ebp - 0x288]
call fcn.00417690
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0x1364]
add ecx, 0xa
mov dword [ebp - 0x30c], ecx
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 0x136c]
sub eax, 0xa
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0x1368]
add edx, 0xc
mov dword [ebp - 0x308], edx
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0x1368]
add ecx, 0x28
mov dword [ebp - 0x300], ecx
push 0xcc
call fcn.00480108
add esp, 4
mov dword [ebp - 0x318], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0x318], 0
je 0x43078f
push 0xcc
mov ecx, dword [ebp - 0x318]
call fcn.00413f70
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x30c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x308]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x304]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x300]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x318]
call fcn.00505f70
mov dword [ebp - 0x364], eax
jmp 0x430799
mov dword [ebp - 0x364], 0
mov ecx, dword [ebp - 0x364]
mov dword [ebp - 0x3cc], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x2f0], edx
push 1
mov eax, dword [ebp - 0x2f0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x54]
call eax
mov ecx, dword [ebp - 0x350]
and ecx, reloc.WS2_32.dll_accept
jns 0x4307dd
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
jne 0x43086b
push 0
push 0xc3
call fcn.0041a0e0
add esp, 4
push eax
push 0xc6
call fcn.0041a0e0
add esp, 4
push eax
push 0xc5
call fcn.0041a0e0
add esp, 4
push eax
mov edx, dword [ebp - 0x2f0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [eax + 0x60]
call edx
push 0
push 0xc5
call fcn.0041a0e0
add esp, 4
push eax
push 0xc3
call fcn.0041a0e0
add esp, 4
push eax
push 0xc3
call fcn.0041a0e0
add esp, 4
push eax
mov eax, dword [ebp - 0x2f0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x80]
call eax
jmp 0x4308ec
push 0
push 0xc7
call fcn.0041a0e0
add esp, 4
push eax
push 0xca
call fcn.0041a0e0
add esp, 4
push eax
push 0xc9
call fcn.0041a0e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x60]
call eax
push 0
push 0xc9
call fcn.0041a0e0
add esp, 4
push eax
push 0xc7
call fcn.0041a0e0
add esp, 4
push eax
push 0xc7
call fcn.0041a0e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x80]
call eax
push 0x10
push 0x10
push 3
push 0
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x84]
call eax
mov ecx, dword [ebp - 0x300]
sub ecx, dword [ebp - 0x308]
push ecx
mov edx, dword [ebp - 0x304]
sub edx, dword [ebp - 0x30c]
sub edx, 0x19
push edx
push 3
push 0x14
mov eax, dword [ebp - 0x2f0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x88]
call eax
push 0x10
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x28]
call eax
push 0x4a4a4a
push 0x4a4a4a
push 0x4a4a4a
push 0x4a4a4a
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x5c]
call eax
mov ecx, dword [ebp - 0x284]
push ecx
call fcn.004f50a0
add esp, 4
push eax
mov edx, dword [ebp - 0x2f0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [eax + 0x18]
call edx
push 0x5c
push 0
lea eax, [ebp - 0x200]
push eax
call fcn.0066eb10
add esp, 0xc
push 0x60
push 0x5a
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0xe
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x200], eax
lea eax, [ebp - 0x448]
push eax
mov ecx, dword [ebp - 0x2ec]
call fcn.00441690
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e4]
call fcn.0041b040
push eax
push 0x740e64
push 0x20
lea ecx, [ebp - 0x1e4]
push ecx
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x448]
call fcn.00419320
lea edx, [ebp - 0x200]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x3ac]
push eax
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x284]
add ecx, 0x3e8
push ecx
mov edx, dword [ebp - 0x2f0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [eax + 8]
call edx
push 0x3e8
mov eax, dword [ebp - 0x2f0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x10]
call eax
push 0
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x78]
call eax
push 1
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [edx + 0x30]
call eax
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x2f8], 0
mov ecx, dword [ebp - 0x288]
and ecx, 2
je 0x430d00
mov edx, dword [ebp - 0x300]
add edx, 0xc
mov dword [ebp - 0x308], edx
mov eax, dword [ebp - 0x308]
add eax, 0x28
mov dword [ebp - 0x300], eax
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 4
cmp dword [ebp - 0x32c], 0
je 0x430b7d
push 0xa8
mov ecx, dword [ebp - 0x32c]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x30c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x308]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x304]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x300]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x32c]
call fcn.00506d60
mov dword [ebp - 0x36c], eax
jmp 0x430b87
mov dword [ebp - 0x36c], 0
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x3b0], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3b0]
mov dword [ebp - 0x2f4], ecx
push 0x5c
push 0
lea edx, [ebp - 0x25c]
push edx
call fcn.0066eb10
add esp, 0xc
push 0x60
push 0x5a
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0xe
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x25c], eax
lea edx, [ebp - 0x478]
push edx
mov ecx, dword [ebp - 0x2ec]
call fcn.00441690
mov dword [ebp - 0x3c0], eax
mov ecx, dword [ebp - 0x3c0]
call fcn.0041b040
push eax
push 0x740e6c
push 0x20
lea eax, [ebp - 0x240]
push eax
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x478]
call fcn.00419320
lea ecx, [ebp - 0x25c]
push ecx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x3c8], eax
mov edx, dword [ebp - 0x3c8]
push edx
mov eax, dword [ebp - 0x2f4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [edx + 0x20]
call eax
push 0x4a4a4a
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [edx + 0x24]
call eax
push 0x4a4a4a
push 0x4a4a4a
push 0x4a4a4a
push 0x4a4a4a
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [edx + 0x5c]
call eax
push 0x10
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [edx + 0x28]
call eax
mov ecx, dword [ebp - 0x280]
push ecx
call fcn.004f50a0
add esp, 4
push eax
mov edx, dword [ebp - 0x2f4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [eax + 0x18]
call edx
mov eax, dword [ebp - 0x288]
and eax, 8
je 0x430ceb
push 1
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [edx + 0x6c]
call eax
push 0
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [edx + 0x30]
call eax
mov ecx, dword [ebp - 0x288]
and ecx, 4
je 0x43100c
push 0x5c
push 0
lea edx, [ebp - 0x1a4]
push edx
call fcn.0066eb10
add esp, 0xc
push 0x60
push 0x5a
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0xe
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x1a4], eax
lea edx, [ebp - 0x4a8]
push edx
mov ecx, dword [ebp - 0x2ec]
call fcn.00441690
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x3d0]
call fcn.0041b040
push eax
push 0x740e74
push 0x20
lea eax, [ebp - 0x188]
push eax
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x4a8]
call fcn.00419320
lea ecx, [ebp - 0x1a4]
push ecx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x3e0], eax
mov edx, dword [ebp - 0x288]
and edx, 2
je 0x430e39
cmp dword [ebp - 0x2f4], 0
je 0x430e39
mov eax, dword [ebp - 0x2f4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [edx + 0x44]
call eax
mov ecx, eax
call fcn.005047d0
mov ecx, dword [eax]
mov dword [ebp - 0x408], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x404], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x400], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x3fc], edx
mov eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp - 0x31c]
add ecx, 0x20
mov dword [ebp - 0x324], ecx
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 0x136c]
sub eax, 0xa
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x320]
mov dword [ebp - 0x328], ecx
jmp 0x430e81
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 0x1364]
add eax, 0xa
mov dword [ebp - 0x328], eax
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0x1368]
add edx, 0xc
mov dword [ebp - 0x324], edx
mov eax, dword [ebp - 0x324]
add eax, 0x14
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp - 0x328]
sub ecx, 0x32
mov dword [ebp - 0x320], ecx
push 0x98
call fcn.00480108
add esp, 4
mov dword [ebp - 0x334], eax
mov byte [ebp - 4], 5
cmp dword [ebp - 0x334], 0
je 0x430ef6
push 0x98
mov ecx, dword [ebp - 0x334]
call fcn.00413f70
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x328]
mov dword [edx], eax
mov ecx, dword [ebp - 0x324]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x320]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x31c]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x334]
call fcn.00505020
mov dword [ebp - 0x354], eax
jmp 0x430f00
mov dword [ebp - 0x354], 0
mov ecx, dword [ebp - 0x354]
mov dword [ebp - 0x3a8], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x3a8]
mov dword [ebp - 0x2fc], edx
push 1
mov eax, dword [ebp - 0x2fc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x54]
call eax
mov ecx, dword [ebp - 0x284]
add ecx, 0x44c
push ecx
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [eax + 8]
call edx
push 0x3e8
mov eax, dword [ebp - 0x2fc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x10]
call eax
push 0xffffff
push 0xffffff
push 0xffffff
push 0xffffff
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x5c]
call eax
mov ecx, dword [ebp - 0x27c]
push ecx
call fcn.004f50a0
add esp, 4
push eax
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [eax + 0x18]
call edx
push 0
push 0x12f
call fcn.0041a0e0
add esp, 4
push eax
push 0x12f
call fcn.0041a0e0
add esp, 4
push eax
push 0x12e
call fcn.0041a0e0
add esp, 4
push eax
mov eax, dword [ebp - 0x2fc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x60]
call eax
mov ecx, dword [ebp - 0x3e0]
push ecx
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [eax + 0x20]
call edx
mov eax, dword [ebp - 0x288]
and eax, 8
je 0x43131a
push 0x5c
push 0
lea ecx, [ebp - 0xec]
push ecx
call fcn.0066eb10
add esp, 0xc
push 0x60
push 0x5a
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0xe
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0xec], eax
mov byte [ebp - 0xd7], 1
lea ecx, [ebp - 0x460]
push ecx
mov ecx, dword [ebp - 0x2ec]
call fcn.00441690
mov dword [ebp - 0x3e8], eax
mov ecx, dword [ebp - 0x3e8]
call fcn.0041b040
push eax
push 0x740e7c
push 0x20
lea edx, [ebp - 0xd0]
push edx
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x460]
call fcn.00419320
lea eax, [ebp - 0xec]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x288]
and ecx, 2
je 0x431122
cmp dword [ebp - 0x2f4], 0
je 0x431122
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x2f4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [edx + 0x4c]
call eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x338], ecx
mov edx, dword [ebp - 0x338]
add edx, 0x20
mov dword [ebp - 0x340], edx
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0x136c]
sub ecx, 0xa
mov dword [ebp - 0x33c], ecx
mov edx, dword [ebp - 0x33c]
sub edx, 0xa
mov dword [ebp - 0x344], edx
jmp 0x43116a
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0x1364]
add ecx, 0xa
mov dword [ebp - 0x344], ecx
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 0x1368]
add eax, 0xc
mov dword [ebp - 0x340], eax
mov ecx, dword [ebp - 0x340]
add ecx, 0x14
mov dword [ebp - 0x338], ecx
mov edx, dword [ebp - 0x344]
add edx, 0x32
mov dword [ebp - 0x33c], edx
push 0x9c
call fcn.00480108
add esp, 4
mov dword [ebp - 0x348], eax
mov byte [ebp - 4], 6
cmp dword [ebp - 0x348], 0
je 0x4311df
push 0x9c
mov ecx, dword [ebp - 0x348]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x344]
mov dword [eax], ecx
mov edx, dword [ebp - 0x340]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x33c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x338]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x348]
call fcn.00505960
mov dword [ebp - 0x360], eax
jmp 0x4311e9
mov dword [ebp - 0x360], 0
mov edx, dword [ebp - 0x360]
mov dword [ebp - 0x3f0], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x2f8], eax
push 0x28
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f8]
mov eax, dword [edx + 0x28]
call eax
push 0xe58c19
push 0xe58c19
push 0xe58c19
push 0xe58c19
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f8]
mov eax, dword [edx + 0x5c]
call eax
mov ecx, dword [ebp - 0x260]
push ecx
call fcn.004f50a0
add esp, 4
push eax
mov edx, dword [ebp - 0x2f8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [eax + 0x18]
call edx
mov eax, dword [ebp - 0x3f8]
push eax
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f8]
mov eax, dword [edx + 0x78]
call eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x410], esp
push ecx
call fcn.004f3280
add esp, 4
mov dword [ebp - 0x414], eax
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 4]
push eax
push 0
push 0xe
call fcn.004f32b0
add esp, 0x24
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x3d4]
push ecx
mov edx, dword [ebp - 0x2f8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [eax + 0x20]
call edx
mov eax, dword [ebp - 0x284]
add eax, 0x44c
push eax
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f8]
mov eax, dword [edx + 8]
call eax
push 0x3e8
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f8]
mov eax, dword [edx + 0x10]
call eax
push 0
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2f8]
mov eax, dword [edx + 0x30]
call eax
mov ecx, dword [ebp - 0x288]
and ecx, 1
je 0x4313f6
mov edx, dword [ebp - 0x300]
add edx, 0xc
mov dword [ebp - 0x308], edx
mov eax, dword [ebp - 0x308]
add eax, 0x3f
mov dword [ebp - 0x300], eax
push 0
push 0
push 0
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x300]
sub eax, dword [ebp - 0x308]
push eax
mov ecx, dword [ebp - 0x304]
sub ecx, dword [ebp - 0x30c]
push ecx
mov edx, dword [ebp - 0x308]
push edx
mov eax, dword [ebp - 0x30c]
push eax
push 0x50a00024
push 0
push 0x740e84
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [ebp - 0x310], eax
push 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x418], esp
push ecx
call fcn.004f3280
add esp, 4
mov dword [ebp - 0x40c], eax
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 4]
push eax
push 0
push 0xe
call fcn.004f32b0
add esp, 0x24
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x3b8]
push ecx
push 0x30
mov edx, dword [ebp - 0x310]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
mov eax, dword [ebp - 0x310]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
lea ecx, [ebp - 0x2e8]
call fcn.00431a10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x288]
push ecx
lea ecx, [ebp - 0x2e4]
call fcn.00414000
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x29c], ecx
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x2a4], edx
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x2a0], eax
lea ecx, [ebp - 0x2e8]
push ecx
mov ecx, dword [ebp - 0x2ec]
add ecx, 0xcc
call fcn.00445010
mov edx, dword [ebp - 0x350]
add edx, 1
mov dword [ebp - 0x350], edx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2e8]
call fcn.0042e9d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x288]
call fcn.00413fe0
jmp 0x43068f
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0xc]
sub ecx, 0xe6
mov dword [ebp - 0x394], ecx
mov edx, dword [ebp - 0x394]
add edx, 0x64
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0x10]
sub ecx, 0x31
mov dword [ebp - 0x390], ecx
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 0x10]
sub eax, 0x11
mov dword [ebp - 0x388], eax
push 0x98
call fcn.00480108
add esp, 4
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x330], 0
je 0x43155a
push 0x98
mov ecx, dword [ebp - 0x330]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x394]
mov dword [ecx], edx
mov eax, dword [ebp - 0x390]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x38c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x388]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x330]
call fcn.00505020
mov dword [ebp - 0x370], eax
jmp 0x431564
mov dword [ebp - 0x370], 0
mov eax, dword [ebp - 0x370]
mov dword [ebp - 0x3b4], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x3b4]
mov dword [ecx + 0xac], edx
push 1
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0xac]
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xac]
mov edx, dword [eax + 0x54]
call edx
push 0x659
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0xac]
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xac]
mov edx, dword [eax + 8]
call edx
push 0xffffff
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0xac]
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xac]
mov edx, dword [eax + 0x24]
call edx
push 0x595959
push 0xffffff
push 0xffffff
push 0xffffff
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0xac]
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xac]
mov edx, dword [eax + 0x5c]
call edx
push 0x3a
call fcn.004f50a0
add esp, 4
push eax
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0xac]
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xac]
mov edx, dword [eax + 0x18]
call edx
push 0
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0xac]
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xac]
mov edx, dword [eax + 0x38]
call edx
push 0
push 0x130
call fcn.0041a0e0
add esp, 4
push eax
push 0x12f
call fcn.0041a0e0
add esp, 4
push eax
push 0x12e
call fcn.0041a0e0
add esp, 4
push eax
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0xac]
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xac]
mov edx, dword [eax + 0x60]
call edx
mov eax, dword [ebp - 0x2ec]
add eax, 0xac
push eax
mov ecx, dword [ebp - 0x2ec]
add ecx, 0x50
call fcn.00444ee0
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0xc]
sub edx, 0x78
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3a4]
add eax, 0x64
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0x10]
sub edx, 0x31
mov dword [ebp - 0x3a0], edx
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0x10]
sub ecx, 0x11
mov dword [ebp - 0x398], ecx
push 0x98
call fcn.00480108
add esp, 4
mov dword [ebp - 0x314], eax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x314], 0
je 0x43178c
push 0x98
mov ecx, dword [ebp - 0x314]
call fcn.00413f70
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x3a4]
mov dword [edx], eax
mov ecx, dword [ebp - 0x3a0]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x39c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x398]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x314]
call fcn.00505020
mov dword [ebp - 0x368], eax
jmp 0x431796
mov dword [ebp - 0x368], 0
mov ecx, dword [ebp - 0x368]
mov dword [ebp - 0x3f4], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x3f4]
mov dword [edx + 0xb0], eax
push 1
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0xb0]
mov eax, dword [ebp - 0x2ec]
mov edx, dword [edx]
mov ecx, dword [eax + 0xb0]
mov eax, dword [edx + 0x54]
call eax
push 0x65a
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0xb0]
mov eax, dword [ebp - 0x2ec]
mov edx, dword [edx]
mov ecx, dword [eax + 0xb0]
mov eax, dword [edx + 8]
call eax
push 0xffffff
push 0xffffff
push 0xffffff
push 0xffffff
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0xb0]
mov eax, dword [ebp - 0x2ec]
mov edx, dword [edx]
mov ecx, dword [eax + 0xb0]
mov eax, dword [edx + 0x5c]
call eax
push 0xc
call fcn.004f50a0
add esp, 4
push eax
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0xb0]
mov eax, dword [ebp - 0x2ec]
mov edx, dword [edx]
mov ecx, dword [eax + 0xb0]
mov eax, dword [edx + 0x18]
call eax
push 0
push 0x130
call fcn.0041a0e0
add esp, 4
push eax
push 0x12f
call fcn.0041a0e0
add esp, 4
push eax
push 0x12e
call fcn.0041a0e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ecx + 0xb0]
mov eax, dword [ebp - 0x2ec]
mov edx, dword [edx]
mov ecx, dword [eax + 0xb0]
mov eax, dword [edx + 0x60]
call eax
mov ecx, dword [ebp - 0x2ec]
add ecx, 0xb0
push ecx
mov ecx, dword [ebp - 0x2ec]
add ecx, 0x50
call fcn.00444ee0
push 0x5c
push 0
lea edx, [ebp - 0x90]
push edx
call fcn.0066eb10
add esp, 0xc
call fcn.004f5b60
test eax, eax
je 0x43190a
push 0x60
push 0x5a
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0xc
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x90], eax
jmp 0x431936
push 0x48
push 0x5a
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0xb
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x90], eax
lea ecx, [ebp - 0x430]
push ecx
mov ecx, dword [ebp - 0x2ec]
call fcn.00441690
mov dword [ebp - 0x3bc], eax
mov ecx, dword [ebp - 0x3bc]
call fcn.0041b040
push eax
push 0x740e90
push 0x20
lea edx, [ebp - 0x74]
push edx
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x430]
call fcn.00419320
lea eax, [ebp - 0x90]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x358]
push ecx
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 0xac]
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xac]
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x358]
push ecx
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edx + 0xb0]
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xb0]
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x2ec]
call fcn.0043ded0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.004158b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0066c98d
mov esp, ebp
pop ebp
ret