Function at 0x436f50
Capabilities:
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6a2cad
mov eax, dword fs:[0]
push eax
sub esp, 0x818
mov eax, dword [0x778400]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x328], ecx
mov dword [ebp - 0x330], 0
mov ecx, dword [ebp - 0x328]
add ecx, 0x50
call fcn.00421570
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00421570
mov eax, dword [ebp - 0x328]
cmp dword [eax + 0x134], 0
je 0x4380e6
push 4
call fcn.004f5950
add esp, 4
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x328]
mov eax, dword [ecx + 0xc]
sub eax, dword [ebp - 0x3d4]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x450], eax
mov edx, dword [ebp - 0x450]
add edx, dword [ebp - 0x3d4]
mov dword [ebp - 0x448], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x10]
sub ecx, 0x33
mov dword [ebp - 0x44c], ecx
mov edx, dword [ebp - 0x44c]
add edx, 0x28
mov dword [ebp - 0x444], edx
push 0xbc
call fcn.00480108
add esp, 4
mov dword [ebp - 0x398], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x398], 0
je 0x437091
push 0xbc
mov ecx, dword [ebp - 0x398]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x450]
mov dword [eax], ecx
mov edx, dword [ebp - 0x44c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x448]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x444]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x398]
call fcn.00505520
mov dword [ebp - 0x3d8], eax
jmp 0x43709b
mov dword [ebp - 0x3d8], 0
mov edx, dword [ebp - 0x3d8]
mov dword [ebp - 0x650], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x650]
mov dword [eax + 0x20], ecx
push 0
call fcn.004f50a0
add esp, 4
push eax
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x20]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [edx + 0x18]
call eax
push 0x5c
push 0
lea ecx, [ebp - 0x210]
push ecx
call fcn.0066eb10
add esp, 0xc
push 0x48
push 0x5a
mov edx, dword [ebp - 0x328]
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 0x14
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x210], eax
lea ecx, [ebp - 0x6ac]
push ecx
mov ecx, dword [ebp - 0x328]
call fcn.00441690
mov dword [ebp - 0x618], eax
mov ecx, dword [ebp - 0x618]
call fcn.0041b040
push eax
push 0x7410ac
push 0x20
lea edx, [ebp - 0x1f4]
push edx
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x6ac]
call fcn.00419320
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp - 0x5f4]
push ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x20]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [edx + 0x20]
call eax
lea ecx, [ebp - 0x824]
push ecx
call fcn.00415570
add esp, 4
mov ecx, 0xc
mov esi, eax
lea edi, [ebp - 0x7f4]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0xc
lea esi, [ebp - 0x7f4]
lea edi, [ebp - 0x68c]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x680]
push edx
mov eax, dword [ebp - 0x684]
push eax
mov ecx, dword [ebp - 0x688]
push ecx
mov edx, dword [ebp - 0x68c]
push edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x20]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x20]
mov edx, dword [eax + 0x5c]
call edx
mov eax, dword [ebp - 0x670]
push eax
mov ecx, dword [ebp - 0x674]
push ecx
mov edx, dword [ebp - 0x678]
push edx
mov eax, dword [ebp - 0x67c]
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x20]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x20]
mov eax, dword [edx + 0x78]
call eax
mov ecx, dword [ebp - 0x660]
push ecx
mov edx, dword [ebp - 0x664]
push edx
mov eax, dword [ebp - 0x668]
push eax
mov ecx, dword [ebp - 0x66c]
push ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x20]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [edx + 0x80]
call eax
push 2
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x20]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x20]
mov eax, dword [edx + 0x7c]
call eax
push 0
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x20]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x20]
mov eax, dword [edx + 0x54]
call eax
push 0x64e
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x20]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x20]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x62c], edx
lea eax, [ebp - 0x62c]
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x50
call fcn.00444ee0
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x1220]
mov dword [ebp - 0x570], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x1220]
add ecx, 0x137
mov dword [ebp - 0x568], ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x1224]
mov dword [ebp - 0x56c], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x1224]
add edx, 0x137
mov dword [ebp - 0x564], edx
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x388], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x388], 0
je 0x4373af
push 0xa8
mov ecx, dword [ebp - 0x388]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x570]
mov dword [eax], ecx
mov edx, dword [ebp - 0x56c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x568]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x564]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x388]
call fcn.00506d60
mov dword [ebp - 0x3e0], eax
jmp 0x4373b9
mov dword [ebp - 0x3e0], 0
mov edx, dword [ebp - 0x3e0]
mov dword [ebp - 0x508], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x508]
mov dword [eax + 0x48], ecx
push 1
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x48]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x48]
mov eax, dword [edx + 0x54]
call eax
push 0
push 0
push 0
push 0xbe
call fcn.0041a0e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x48]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x48]
mov eax, dword [edx + 0x60]
call eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x48]
mov dword [ebp - 0x50c], edx
lea eax, [ebp - 0x50c]
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
call fcn.00444c20
test eax, eax
je 0x437492
lea ecx, [ebp - 0x6c4]
push ecx
call fcn.00444ce0
add esp, 4
mov dword [ebp - 0x514], eax
mov edx, dword [ebp - 0x330]
or edx, 1
mov dword [ebp - 0x330], edx
mov ecx, dword [ebp - 0x514]
call fcn.00419090
movzx eax, al
test eax, eax
jne 0x437492
mov dword [ebp - 0x3e8], 1
jmp 0x43749c
mov dword [ebp - 0x3e8], 0
mov cl, byte [ebp - 0x3e8]
mov byte [ebp - 0x32b], cl
mov edx, dword [ebp - 0x330]
and edx, 1
je 0x4374c5
and dword [ebp - 0x330], 0xfffffffe
lea ecx, [ebp - 0x6c4]
call fcn.00419320
movzx eax, byte [ebp - 0x32b]
test eax, eax
je 0x43750d
lea ecx, [ebp - 0x6f4]
push ecx
call fcn.00444ce0
add esp, 4
mov dword [ebp - 0x51c], eax
mov edx, dword [ebp - 0x51c]
push edx
mov ecx, dword [ebp - 0x328]
add ecx, 0x11c
call fcn.0041a190
lea ecx, [ebp - 0x6f4]
call fcn.00419320
jmp 0x4375da
lea eax, [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x328]
mov eax, dword [edx + 0x70]
call eax
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x44]
call fcn.00419090
movzx ecx, al
test ecx, ecx
je 0x43754d
lea ecx, [ebp - 0x44]
call fcn.0041af60
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x43757d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x694], esp
lea edx, [ebp - 0x44]
push edx
call fcn.004190c0
mov dword [ebp - 0x690], eax
mov eax, dword [ebp - 0x328]
add eax, 0x11c
push eax
call fcn.004e65b0
add esp, 0x1c
jmp 0x4375c3
lea ecx, [ebp - 0x724]
push ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax + 0x94]
call edx
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x524]
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x11c
call fcn.0041a190
lea ecx, [ebp - 0x724]
call fcn.00419320
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.00419eb0
xor ecx, ecx
jne 0x437447
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x10]
sub eax, 0x5e
mov dword [ebp - 0x4cc], eax
mov ecx, dword [ebp - 0x4cc]
add ecx, 0x25
mov dword [ebp - 0x4c4], ecx
mov dword [ebp - 0x4d0], 3
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0xc]
sub eax, 3
mov dword [ebp - 0x4c8], eax
lea ecx, [ebp - 0x7c4]
push ecx
call fcn.004155b0
add esp, 4
mov edx, dword [eax]
mov dword [ebp - 0x584], edx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x580], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0x57c], edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x578], eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x1210
mov edx, dword [ebp - 0x584]
mov dword [ecx], edx
mov eax, dword [ebp - 0x580]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x57c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x578]
mov dword [ecx + 0xc], eax
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x348], eax
mov dword [ebp - 4], 3
cmp dword [ebp - 0x348], 0
je 0x4376f0
push 0xa8
mov ecx, dword [ebp - 0x348]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x4d0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4cc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x4c8]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x4c4]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x348]
call fcn.00506d60
mov dword [ebp - 0x3c4], eax
jmp 0x4376fa
mov dword [ebp - 0x3c4], 0
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x52c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x52c]
mov dword [ecx + 0x30], edx
push 0x5c
push 0
lea eax, [ebp - 0x2c8]
push eax
call fcn.0066eb10
add esp, 0xc
push 0x60
push 0x5a
mov ecx, dword [ebp - 0x328]
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 - 0x2c8], eax
lea eax, [ebp - 0x754]
push eax
mov ecx, dword [ebp - 0x328]
call fcn.00441690
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x534]
call fcn.0041b040
push eax
push 0x7410b4
push 0x20
lea ecx, [ebp - 0x2ac]
push ecx
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x754]
call fcn.00419320
lea edx, [ebp - 0x2c8]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x53c]
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x30]
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x1218]
push edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x30]
mov edx, dword [eax + 0x24]
call edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x1210]
push ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x1210]
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x1210]
push edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x1210]
push ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x30]
mov eax, dword [edx + 0x5c]
call eax
push 0x19
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x30]
mov eax, dword [edx + 0x28]
call eax
call fcn.00444c20
test eax, eax
jne 0x437873
mov byte [ebp - 0x329], 1
jmp 0x43787a
mov byte [ebp - 0x329], 0
movzx ecx, byte [ebp - 0x329]
push ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x30]
mov eax, dword [edx + 0x30]
call eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x544], edx
lea eax, [ebp - 0x544]
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
call fcn.00444c20
test eax, eax
jne 0x4378e0
mov ecx, dword [ebp - 0x328]
call fcn.004355a0
push 0
mov ecx, dword [ebp - 0x328]
call fcn.00430040
mov dword [ebp - 0x46c], 0
mov dword [ebp - 0x464], 0x15
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xc]
sub edx, 5
mov dword [ebp - 0x468], edx
mov eax, dword [ebp - 0x468]
sub eax, 0x11
mov dword [ebp - 0x470], eax
push 0x98
call fcn.00480108
add esp, 4
mov dword [ebp - 0x34c], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x34c], 0
je 0x43798d
push 0x98
mov ecx, dword [ebp - 0x34c]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x470]
mov dword [ecx], edx
mov eax, dword [ebp - 0x46c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x468]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x464]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x34c]
call fcn.00505020
mov dword [ebp - 0x3c8], eax
jmp 0x437997
mov dword [ebp - 0x3c8], 0
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x54c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x54c]
mov dword [ecx + 0x24], edx
push 1
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x24]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x24]
mov edx, dword [eax + 0x54]
call edx
push 0x64c
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x24]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x24]
mov edx, dword [eax + 8]
call edx
push 0
push 0x8e
call fcn.0041a0e0
add esp, 4
push eax
push 0x8f
call fcn.0041a0e0
add esp, 4
push eax
push 0x8c
call fcn.0041a0e0
add esp, 4
push eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x24]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x24]
mov edx, dword [eax + 0x60]
call edx
mov eax, dword [ebp - 0x328]
add eax, 0x24
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x50
call fcn.00444ee0
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a4], 0x15
mov ecx, dword [ebp - 0x470]
sub ecx, 3
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x4a8]
sub edx, 0x11
mov dword [ebp - 0x4b0], edx
push 0x98
call fcn.00480108
add esp, 4
mov dword [ebp - 0x354], eax
mov dword [ebp - 4], 5
cmp dword [ebp - 0x354], 0
je 0x437af9
push 0x98
mov ecx, dword [ebp - 0x354]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x4b0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x4ac]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x4a8]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x4a4]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x354]
call fcn.00505020
mov dword [ebp - 0x408], eax
jmp 0x437b03
mov dword [ebp - 0x408], 0
mov edx, dword [ebp - 0x408]
mov dword [ebp - 0x554], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x554]
mov dword [eax + 0x28], ecx
push 1
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x28]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x28]
mov eax, dword [edx + 0x54]
call eax
push 0x64d
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x28]
mov eax, dword [edx + 8]
call eax
push 0
push 0x92
call fcn.0041a0e0
add esp, 4
push eax
push 0x93
call fcn.0041a0e0
add esp, 4
push eax
push 0x90
call fcn.0041a0e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x28]
mov eax, dword [edx + 0x60]
call eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x28
push ecx
mov ecx, dword [ebp - 0x328]
add ecx, 0x50
call fcn.00444ee0
mov dword [ebp - 0x3ac], 0
mov edx, dword [ebp - 0x3ac]
add edx, 0xce
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x3a8], 0
mov eax, dword [ebp - 0x3a8]
add eax, 0x2d
mov dword [ebp - 0x3a0], eax
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x36c], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x36c], 0
je 0x437c68
push 0xa8
mov ecx, dword [ebp - 0x36c]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x3ac]
mov dword [ecx], edx
mov eax, dword [ebp - 0x3a8]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x3a4]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x3a0]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x36c]
call fcn.00506d60
mov dword [ebp - 0x410], eax
jmp 0x437c72
mov dword [ebp - 0x410], 0
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x55c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x55c]
mov dword [ecx + 0x3c], edx
push 1
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x3c]
mov edx, dword [eax + 0x54]
call edx
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x374], eax
mov dword [ebp - 4], 7
cmp dword [ebp - 0x374], 0
je 0x437d27
push 0xa8
mov ecx, dword [ebp - 0x374]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x3ac]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3a8]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3a4]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x3a0]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x374]
call fcn.00506d60
mov dword [ebp - 0x418], eax
jmp 0x437d31
mov dword [ebp - 0x418], 0
mov edx, dword [ebp - 0x418]
mov dword [ebp - 0x620], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x620]
mov dword [eax + 0x44], ecx
push 1
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x44]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x44]
mov eax, dword [edx + 0x54]
call eax
mov ecx, dword [ebp - 0x328]
cmp dword [ecx + 0x334], 0
je 0x437d89
mov dword [ebp - 0x420], 0xbb
jmp 0x437d93
mov dword [ebp - 0x420], 0x8a
push 0
push 0
push 0
mov edx, dword [ebp - 0x420]
push edx
call fcn.0041a0e0
add esp, 4
push eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x3c]
mov edx, dword [eax + 0x60]
call edx
mov eax, dword [ebp - 0x328]
cmp dword [eax + 0x334], 0
je 0x437ddd
mov dword [ebp - 0x428], 0xbc
jmp 0x437de7
mov dword [ebp - 0x428], 0x8b
push 0
push 0
push 0
mov ecx, dword [ebp - 0x428]
push ecx
call fcn.0041a0e0
add esp, 4
push eax
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x44]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x44]
mov eax, dword [edx + 0x60]
call eax
push 0
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x44]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x44]
mov eax, dword [edx + 0x30]
call eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x628], edx
lea eax, [ebp - 0x628]
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x44]
mov dword [ebp - 0x63c], edx
lea eax, [ebp - 0x63c]
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
mov dword [ebp - 0x644], 0x27
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp - 0x48c]
add edx, 0x14
mov dword [ebp - 0x484], edx
mov dword [ebp - 0x490], 0xd
mov eax, dword [ebp - 0x490]
add eax, 0x190
mov dword [ebp - 0x488], eax
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x37c], eax
mov dword [ebp - 4], 8
cmp dword [ebp - 0x37c], 0
je 0x437f31
push 0xa8
mov ecx, dword [ebp - 0x37c]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x490]
mov dword [ecx], edx
mov eax, dword [ebp - 0x48c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x488]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x484]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x37c]
call fcn.00506d60
mov dword [ebp - 0x430], eax
jmp 0x437f3b
mov dword [ebp - 0x430], 0
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x64c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x64c]
mov dword [ecx + 0x4c], edx
push 0x5c
push 0
lea eax, [ebp - 0x324]
push eax
call fcn.0066eb10
add esp, 0xc
push 0x60
push 0x5a
mov ecx, dword [ebp - 0x328]
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 0xc
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x324], eax
lea eax, [ebp - 0x784]
push eax
mov ecx, dword [ebp - 0x328]
call fcn.00441690
mov dword [ebp - 0x654], eax
mov ecx, dword [ebp - 0x654]
call fcn.0041b040
push eax
push 0x7410bc
push 0x20
lea ecx, [ebp - 0x308]
push ecx
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x784]
call fcn.00419320
lea edx, [ebp - 0x324]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x65c]
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x4c]
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x1214]
push edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x4c]
mov edx, dword [eax + 0x24]
call edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x1214]
push ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x1214]
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x1214]
push edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x1214]
push ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x4c]
mov eax, dword [edx + 0x5c]
call eax
push 0x24
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x4c]
mov eax, dword [edx + 0x28]
call eax
push 0
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x4c]
mov eax, dword [edx + 0x30]
call eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x648], edx
lea eax, [ebp - 0x648]
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
jmp 0x439d4a
call fcn.00415650
movzx ecx, al
test ecx, ecx
je 0x4386da
mov ecx, dword [ebp - 0x328]
call fcn.00430350
mov ecx, dword [ebp - 0x328]
call fcn.00431c40
mov dword [ebp - 0x4bc], 0x14
mov dword [ebp - 0x4b4], 0x1c
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0xc]
sub eax, 0x18
mov dword [ebp - 0x4b8], eax
mov ecx, dword [ebp - 0x4b8]
sub ecx, 8
mov dword [ebp - 0x4c0], ecx
push 0x98
call fcn.00480108
add esp, 4
mov dword [ebp - 0x384], eax
mov dword [ebp - 4], 9
cmp dword [ebp - 0x384], 0
je 0x4381b9
push 0x98
mov ecx, dword [ebp - 0x384]
call fcn.00413f70
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x4c0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x4bc]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x4b8]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x4b4]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x384]
call fcn.00505020
mov dword [ebp - 0x438], eax
jmp 0x4381c3
mov dword [ebp - 0x438], 0
mov ecx, dword [ebp - 0x438]
mov dword [ebp - 0x504], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x328]
mov eax, dword [ebp - 0x504]
mov dword [edx + 0x24], eax
push 1
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x24]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x24]
mov eax, dword [edx + 0x54]
call eax
push 0x64c
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x24]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x24]
mov eax, dword [edx + 8]
call eax
push 0
push 0x134
call fcn.0041a0e0
add esp, 4
push eax
push 0x133
call fcn.0041a0e0
add esp, 4
push eax
push 0x132
call fcn.0041a0e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x24]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x24]
mov eax, dword [edx + 0x60]
call eax
push 1
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x24]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x24]
mov eax, dword [edx + 0x30]
call eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x24
push ecx
mov ecx, dword [ebp - 0x328]
add ecx, 0x50
call fcn.00444ee0
push 0x14
lea ecx, [ebp - 0x2c]
call fcn.00413f70
lea ecx, [ebp - 0x2c]
call fcn.00419ed0
mov dword [ebp - 4], 0xa
mov edx, dword [ebp - 0x328]
cmp dword [edx + 0x334], 0
je 0x4382ca
mov dword [ebp - 0x440], 0x12c
jmp 0x4382d4
mov dword [ebp - 0x440], 0x12c
mov eax, dword [ebp - 0x440]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00419f90
mov dword [ebp - 0x340], 0x14
mov ecx, dword [ebp - 0x340]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x338], ecx
mov dword [ebp - 0x33c], 0xb
mov edx, dword [ebp - 0x33c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x334], edx
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x38c], eax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x38c], 0
je 0x43838a
push 0xa8
mov ecx, dword [ebp - 0x38c]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x340]
mov dword [eax], ecx
mov edx, dword [ebp - 0x33c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x338]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x334]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x38c]
call fcn.00506d60
mov dword [ebp - 0x3c0], eax
jmp 0x438394
mov dword [ebp - 0x3c0], 0
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x610], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x610]
mov dword [eax + 0x3c], ecx
push 1
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x3c]
mov eax, dword [edx + 0x54]
call eax
mov ecx, dword [ebp - 0x328]
cmp dword [ecx + 0x334], 0
je 0x4383e9
mov dword [ebp - 0x3f0], 0x12c
jmp 0x4383f3
mov dword [ebp - 0x3f0], 0x12c
push 0
push 0
push 0
mov edx, dword [ebp - 0x3f0]
push edx
call fcn.0041a0e0
add esp, 4
push eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x3c]
mov edx, dword [eax + 0x60]
call edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x5fc], ecx
lea edx, [ebp - 0x5fc]
push edx
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
mov eax, dword [ebp - 0x33c]
add eax, 4
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x338]
add ecx, 6
mov dword [ebp - 0x340], ecx
mov edx, dword [ebp - 0x340]
add edx, 0xc8
mov dword [ebp - 0x338], edx
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x394], eax
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x394], 0
je 0x4384eb
push 0xa8
mov ecx, dword [ebp - 0x394]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x340]
mov dword [eax], ecx
mov edx, dword [ebp - 0x33c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x338]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x334]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x394]
call fcn.00506d60
mov dword [ebp - 0x3cc], eax
jmp 0x4384f5
mov dword [ebp - 0x3cc], 0
mov edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x510], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x510]
mov dword [eax + 0x40], ecx
push 0x5c
push 0
lea edx, [ebp - 0xfc]
push edx
call fcn.0066eb10
add esp, 0xc
push 0x60
push 0x5a
mov eax, dword [ebp - 0x328]
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 0xb
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0xfc], eax
lea edx, [ebp - 0x7b4]
push edx
call fcn.004f3280
add esp, 4
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x630]
call fcn.0041b040
push eax
push 0x7410c4
push 0x20
lea eax, [ebp - 0xe0]
push eax
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x7b4]
call fcn.00419320
lea ecx, [ebp - 0xfc]
push ecx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x518], eax
mov edx, dword [ebp - 0x518]
push edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x40]
mov edx, dword [eax + 0x20]
call edx
push 0x4a4a4a
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x40]
mov edx, dword [eax + 0x24]
call edx
push 0x4a4a4a
push 0x4a4a4a
push 0x4a4a4a
push 0x4a4a4a
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x40]
mov edx, dword [eax + 0x5c]
call edx
push 4
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x40]
mov edx, dword [eax + 0x28]
call edx
lea eax, [ebp - 0x73c]
push eax
call fcn.004143b0
add esp, 4
mov dword [ebp - 0x604], eax
mov ecx, dword [ebp - 0x604]
mov dword [ebp - 0x520], ecx
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x520]
call fcn.0041b040
push eax
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx + 0x18]
call eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x73c]
call fcn.00419320
push 1
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x40]
mov eax, dword [edx + 0x30]
call eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x634], edx
lea eax, [ebp - 0x634]
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00419f30
jmp 0x439d4a
mov dword [ebp - 0x598], 0x14
mov dword [ebp - 0x590], 0x246
mov dword [ebp - 0x594], 0x26
mov dword [ebp - 0x58c], 0x46
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x39c], eax
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x39c], 0
je 0x43877a
push 0xa8
mov ecx, dword [ebp - 0x39c]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x598]
mov dword [ecx], edx
mov eax, dword [ebp - 0x594]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x590]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x58c]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x39c]
call fcn.00506d60
mov dword [ebp - 0x3f8], eax
jmp 0x438784
mov dword [ebp - 0x3f8], 0
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x528], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x528]
mov dword [ecx + 0x9c], edx
push 0
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x9c]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x9c]
mov edx, dword [eax + 0x54]
call edx
push 0x17
call fcn.004f50a0
add esp, 4
push eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x9c]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x9c]
mov edx, dword [eax + 0x18]
call edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x9c]
mov dword [ebp - 0x60c], ecx
lea edx, [ebp - 0x60c]
push edx
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
push 0x5c
push 0
lea eax, [ebp - 0x1b4]
push eax
call fcn.0066eb10
add esp, 0xc
push 0x48
push 0x5a
mov ecx, dword [ebp - 0x328]
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 0x10
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x1b4], eax
lea eax, [ebp - 0x76c]
push eax
mov ecx, dword [ebp - 0x328]
call fcn.00441690
mov dword [ebp - 0x530], eax
mov ecx, dword [ebp - 0x530]
call fcn.0041b040
push eax
push 0x7410cc
push 0x20
lea ecx, [ebp - 0x198]
push ecx
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x76c]
call fcn.00419320
lea edx, [ebp - 0x1b4]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x638], eax
mov eax, dword [ebp - 0x638]
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x9c]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x9c]
mov eax, dword [edx + 0x20]
call eax
push 0x8ca623
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x9c]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x9c]
mov eax, dword [edx + 0x24]
call eax
mov dword [ebp - 0x5ac], 0x8c
mov dword [ebp - 0x5a4], 0x1e2
mov dword [ebp - 0x5a8], 0x46
mov dword [ebp - 0x5a0], 0x12a
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x360], eax
mov dword [ebp - 4], 0xf
cmp dword [ebp - 0x360], 0
je 0x43899c
push 0xa8
mov ecx, dword [ebp - 0x360]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x5ac]
mov dword [ecx], edx
mov eax, dword [ebp - 0x5a8]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x5a4]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x5a0]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x360]
call fcn.00506d60
mov dword [ebp - 0x400], eax
jmp 0x4389a6
mov dword [ebp - 0x400], 0
mov eax, dword [ebp - 0x400]
mov dword [ebp - 0x538], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x538]
mov dword [ecx + 0xa0], edx
push 1
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xa0]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xa0]
mov edx, dword [eax + 0x54]
call edx
push 0
push 0
push 0
push 0x9a
call fcn.0041a0e0
add esp, 4
push eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xa0]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xa0]
mov edx, dword [eax + 0x60]
call edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xa0]
mov dword [ebp - 0x614], ecx
lea edx, [ebp - 0x614]
push edx
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
mov dword [ebp - 0x5c0], 0xc
mov dword [ebp - 0x5b8], 0x1a
mov dword [ebp - 0x5bc], 0x16c
mov dword [ebp - 0x5b4], 0x17a
push 0xac
call fcn.00480108
add esp, 4
mov dword [ebp - 0x378], eax
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x378], 0
je 0x438ae6
push 0xac
mov ecx, dword [ebp - 0x378]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x5c0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x5bc]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x5b8]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x5b4]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x378]
call fcn.00505bf0
mov dword [ebp - 0x40c], eax
jmp 0x438af0
mov dword [ebp - 0x40c], 0
mov edx, dword [ebp - 0x40c]
mov dword [ebp - 0x540], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x540]
mov dword [eax + 0xa4], ecx
push 1
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0xa4]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xa4]
mov eax, dword [edx + 0x54]
call eax
push 0x658
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xa4]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xa4]
mov eax, dword [edx + 8]
call eax
push 0
push 0x9f
call fcn.0041a0e0
add esp, 4
push eax
push 0x9e
call fcn.0041a0e0
add esp, 4
push eax
push 0x9d
call fcn.0041a0e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xa4]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xa4]
mov eax, dword [edx + 0x60]
call eax
push 0
push 0x9d
call fcn.0041a0e0
add esp, 4
push eax
push 0xa0
call fcn.0041a0e0
add esp, 4
push eax
push 0x9f
call fcn.0041a0e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xa4]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xa4]
mov eax, dword [edx + 0x80]
call eax
push 1
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xa4]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xa4]
mov eax, dword [edx + 0x78]
call eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xa4]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xa4]
mov eax, dword [edx + 0x7c]
call eax
test eax, eax
je 0x438c40
mov byte [ebp - 0x32a], 1
jmp 0x438c47
mov byte [ebp - 0x32a], 0
mov ecx, dword [ebp - 0x328]
mov dl, byte [ebp - 0x32a]
mov byte [ecx + 0x1375], dl
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xa4]
mov dword [ebp - 0x658], ecx
lea edx, [ebp - 0x658]
push edx
mov ecx, dword [ebp - 0x328]
add ecx, 0x50
call fcn.00444ee0
mov dword [ebp - 0x4e0], 0x22
mov dword [ebp - 0x4d8], 0x188
mov dword [ebp - 0x4dc], 0x168
mov eax, dword [ebp - 0x4dc]
add eax, 0x14
mov dword [ebp - 0x4d4], eax
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x350], eax
mov dword [ebp - 4], 0x11
cmp dword [ebp - 0x350], 0
je 0x438d25
push 0xa8
mov ecx, dword [ebp - 0x350]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x4e0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4dc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x4d8]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x4d4]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x350]
call fcn.00506d60
mov dword [ebp - 0x3dc], eax
jmp 0x438d2f
mov dword [ebp - 0x3dc], 0
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x548], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x548]
mov dword [ecx + 0xa8], edx
push 0
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xa8]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xa8]
mov edx, dword [eax + 0x54]
call edx
push 0x19
call fcn.004f50a0
add esp, 4
push eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xa8]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xa8]
mov edx, dword [eax + 0x18]
call edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xa8]
mov dword [ebp - 0x61c], ecx
lea edx, [ebp - 0x61c]
push edx
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
push 0x5c
push 0
lea eax, [ebp - 0x26c]
push eax
call fcn.0066eb10
add esp, 0xc
push 0x48
push 0x5a
mov ecx, dword [ebp - 0x328]
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 0xb
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x26c], eax
lea eax, [ebp - 0x6dc]
push eax
mov ecx, dword [ebp - 0x328]
call fcn.00441690
mov dword [ebp - 0x550], eax
mov ecx, dword [ebp - 0x550]
call fcn.0041b040
push eax
push 0x7410d4
push 0x20
lea ecx, [ebp - 0x250]
push ecx
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x6dc]
call fcn.00419320
lea edx, [ebp - 0x26c]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x640], eax
mov eax, dword [ebp - 0x640]
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xa8]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xa8]
mov eax, dword [edx + 0x20]
call eax
push 0xbad93c
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xa8]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xa8]
mov eax, dword [edx + 0x24]
call eax
push 0x24
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xa8]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xa8]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebp - 0x500], 0x192
mov ecx, dword [ebp - 0x500]
add ecx, 0x64
mov dword [ebp - 0x4f8], ecx
mov dword [ebp - 0x4fc], 0x164
mov dword [ebp - 0x4f4], 0x184
push 0x98
call fcn.00480108
add esp, 4
mov dword [ebp - 0x344], eax
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x344], 0
je 0x438f6d
push 0x98
mov ecx, dword [ebp - 0x344]
call fcn.00413f70
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x500]
mov dword [edx], eax
mov ecx, dword [ebp - 0x4fc]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x4f8]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x4f4]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x344]
call fcn.00505020
mov dword [ebp - 0x434], eax
jmp 0x438f77
mov dword [ebp - 0x434], 0
mov ecx, dword [ebp - 0x434]
mov dword [ebp - 0x558], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x328]
mov eax, dword [ebp - 0x558]
mov dword [edx + 0xac], eax
push 1
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xac]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xac]
mov eax, dword [edx + 0x54]
call eax
push 0x659
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xac]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xac]
mov eax, dword [edx + 8]
call eax
push 0xffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xac]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xac]
mov eax, dword [edx + 0x24]
call eax
push 0xffffff
push 0xffffff
push 0xffffff
push 0xffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xac]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xac]
mov eax, dword [edx + 0x5c]
call eax
push 0x18
call fcn.004f50a0
add esp, 4
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xac]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xac]
mov eax, dword [edx + 0x18]
call eax
push 0
push 0xa1
call fcn.0041a0e0
add esp, 4
push eax
push 0xa2
call fcn.0041a0e0
add esp, 4
push eax
push 0xa3
call fcn.0041a0e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xac]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xac]
mov eax, dword [edx + 0x60]
call eax
mov ecx, dword [ebp - 0x328]
add ecx, 0xac
push ecx
mov ecx, dword [ebp - 0x328]
add ecx, 0x50
call fcn.00444ee0
mov dword [ebp - 0x4a0], 0x200
mov edx, dword [ebp - 0x4a0]
add edx, 0x64
mov dword [ebp - 0x498], edx
mov dword [ebp - 0x49c], 0x164
mov dword [ebp - 0x494], 0x184
push 0x98
call fcn.00480108
add esp, 4
mov dword [ebp - 0x358], eax
mov dword [ebp - 4], 0x13
cmp dword [ebp - 0x358], 0
je 0x43916d
push 0x98
mov ecx, dword [ebp - 0x358]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x4a0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x49c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x498]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x494]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x358]
call fcn.00505020
mov dword [ebp - 0x3e4], eax
jmp 0x439177
mov dword [ebp - 0x3e4], 0
mov edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x624], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x624]
mov dword [eax + 0xb0], ecx
push 1
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0xb0]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xb0]
mov eax, dword [edx + 0x54]
call eax
push 0x65a
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xb0]
mov eax, dword [ebp - 0x328]
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 - 0x328]
mov edx, dword [ecx + 0xb0]
mov eax, dword [ebp - 0x328]
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 - 0x328]
mov edx, dword [ecx + 0xb0]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xb0]
mov eax, dword [edx + 0x18]
call eax
push 0
push 0xa1
call fcn.0041a0e0
add esp, 4
push eax
push 0xa2
call fcn.0041a0e0
add esp, 4
push eax
push 0xa3
call fcn.0041a0e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xb0]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0xb0]
mov eax, dword [edx + 0x60]
call eax
mov ecx, dword [ebp - 0x328]
add ecx, 0xb0
push ecx
mov ecx, dword [ebp - 0x328]
add ecx, 0x50
call fcn.00444ee0
push 0x5c
push 0
lea edx, [ebp - 0xa0]
push edx
call fcn.0066eb10
add esp, 0xc
call fcn.004f5b60
test eax, eax
je 0x4392ee
push 0x60
push 0x5a
mov eax, dword [ebp - 0x328]
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 - 0xa0], eax
jmp 0x43931a
push 0x48
push 0x5a
mov edx, dword [ebp - 0x328]
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 - 0xa0], eax
lea ecx, [ebp - 0x79c]
push ecx
mov ecx, dword [ebp - 0x328]
call fcn.00441690
mov dword [ebp - 0x560], eax
mov ecx, dword [ebp - 0x560]
call fcn.0041b040
push eax
push 0x7410dc
push 0x20
lea edx, [ebp - 0x84]
push edx
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x79c]
call fcn.00419320
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0xac]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xac]
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0xb0]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xb0]
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x5d4], 0xa
mov dword [ebp - 0x5cc], 0x264
mov dword [ebp - 0x5d0], 0x17a
mov dword [ebp - 0x5c8], 0x184
push 0xb4
call fcn.00480108
add esp, 4
mov dword [ebp - 0x35c], eax
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x35c], 0
je 0x43945e
push 0xb4
mov ecx, dword [ebp - 0x35c]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x5d4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x5d0]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x5cc]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x5c8]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x35c]
call fcn.005064c0
mov dword [ebp - 0x3ec], eax
jmp 0x439468
mov dword [ebp - 0x3ec], 0
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x5ec]
mov dword [ecx + 0xb8], edx
push 1
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xb8]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xb8]
mov edx, dword [eax + 0x54]
call edx
push 0
push 0
push 0x9b
call fcn.0041a0e0
add esp, 4
push eax
push 0x9c
call fcn.0041a0e0
add esp, 4
push eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xb8]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xb8]
mov edx, dword [eax + 0x60]
call edx
push 0x64
push 0
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xb8]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xb8]
mov edx, dword [eax + 0x6c]
call edx
push 0
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xb8]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xb8]
mov edx, dword [eax + 0x70]
call edx
push 0
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xb8]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xb8]
mov edx, dword [eax + 0x30]
call edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0xb8]
mov dword [ebp - 0x574], ecx
lea edx, [ebp - 0x574]
push edx
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x474], 0x15
mov dword [ebp - 0x478], 0x269
mov eax, dword [ebp - 0x478]
sub eax, 0x11
mov dword [ebp - 0x480], eax
push 0x98
call fcn.00480108
add esp, 4
mov dword [ebp - 0x364], eax
mov dword [ebp - 4], 0x15
cmp dword [ebp - 0x364], 0
je 0x43961e
push 0x98
mov ecx, dword [ebp - 0x364]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x480]
mov dword [ecx], edx
mov eax, dword [ebp - 0x47c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x478]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x474]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x364]
call fcn.00505020
mov dword [ebp - 0x42c], eax
jmp 0x439628
mov dword [ebp - 0x42c], 0
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x5f0]
mov dword [ecx + 0x24], edx
push 1
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x24]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x24]
mov edx, dword [eax + 0x54]
call edx
push 0x64c
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x24]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x24]
mov edx, dword [eax + 8]
call edx
push 0
push 0x8e
call fcn.0041a0e0
add esp, 4
push eax
push 0x8f
call fcn.0041a0e0
add esp, 4
push eax
push 0x8c
call fcn.0041a0e0
add esp, 4
push eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x24]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x24]
mov edx, dword [eax + 0x60]
call edx
mov eax, dword [ebp - 0x328]
add eax, 0x24
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x50
call fcn.00444ee0
mov dword [ebp - 0x4ec], 0
mov dword [ebp - 0x4e4], 0x15
mov ecx, dword [ebp - 0x480]
sub ecx, 3
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
sub edx, 0x11
mov dword [ebp - 0x4f0], edx
push 0x98
call fcn.00480108
add esp, 4
mov dword [ebp - 0x380], eax
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x380], 0
je 0x43978a
push 0x98
mov ecx, dword [ebp - 0x380]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x4f0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x4ec]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x4e8]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x4e4]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x380]
call fcn.00505020
mov dword [ebp - 0x3f4], eax
jmp 0x439794
mov dword [ebp - 0x3f4], 0
mov edx, dword [ebp - 0x3f4]
mov dword [ebp - 0x588], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x588]
mov dword [eax + 0x28], ecx
push 1
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x28]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x28]
mov eax, dword [edx + 0x54]
call eax
push 0x64d
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x28]
mov eax, dword [edx + 8]
call eax
push 0
push 0x92
call fcn.0041a0e0
add esp, 4
push eax
push 0x93
call fcn.0041a0e0
add esp, 4
push eax
push 0x90
call fcn.0041a0e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x28]
mov eax, dword [edx + 0x60]
call eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x28
push ecx
mov ecx, dword [ebp - 0x328]
add ecx, 0x50
call fcn.00444ee0
mov dword [ebp - 0x3bc], 0
mov edx, dword [ebp - 0x3bc]
add edx, 0xce
mov dword [ebp - 0x3b4], edx
mov dword [ebp - 0x3b8], 0
mov eax, dword [ebp - 0x3b8]
add eax, 0x2d
mov dword [ebp - 0x3b0], eax
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x368], eax
mov dword [ebp - 4], 0x17
cmp dword [ebp - 0x368], 0
je 0x4398f9
push 0xa8
mov ecx, dword [ebp - 0x368]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x3bc]
mov dword [ecx], edx
mov eax, dword [ebp - 0x3b8]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x3b4]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x3b0]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x368]
call fcn.00506d60
mov dword [ebp - 0x41c], eax
jmp 0x439903
mov dword [ebp - 0x41c], 0
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x5f8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x5f8]
mov dword [ecx + 0x3c], edx
push 1
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x3c]
mov edx, dword [eax + 0x54]
call edx
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x390], eax
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x390], 0
je 0x4399b8
push 0xa8
mov ecx, dword [ebp - 0x390]
call fcn.00413f70
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x3bc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3b8]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3b4]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x3b0]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x390]
call fcn.00506d60
mov dword [ebp - 0x3fc], eax
jmp 0x4399c2
mov dword [ebp - 0x3fc], 0
mov edx, dword [ebp - 0x3fc]
mov dword [ebp - 0x59c], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x328]
mov ecx, dword [ebp - 0x59c]
mov dword [eax + 0x44], ecx
push 1
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x44]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x44]
mov eax, dword [edx + 0x54]
call eax
mov ecx, dword [ebp - 0x328]
cmp dword [ecx + 0x334], 0
je 0x439a1a
mov dword [ebp - 0x43c], 0xbb
jmp 0x439a24
mov dword [ebp - 0x43c], 0x8a
push 0
push 0
push 0
mov edx, dword [ebp - 0x43c]
push edx
call fcn.0041a0e0
add esp, 4
push eax
mov eax, dword [ebp - 0x328]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x328]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x3c]
mov edx, dword [eax + 0x60]
call edx
mov eax, dword [ebp - 0x328]
cmp dword [eax + 0x334], 0
je 0x439a6e
mov dword [ebp - 0x404], 0xbc
jmp 0x439a78
mov dword [ebp - 0x404], 0x8b
push 0
push 0
push 0
mov ecx, dword [ebp - 0x404]
push ecx
call fcn.0041a0e0
add esp, 4
push eax
mov edx, dword [ebp - 0x328]
mov eax, dword [edx + 0x44]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x44]
mov eax, dword [edx + 0x60]
call eax
push 0
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x44]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x44]
mov eax, dword [edx + 0x30]
call eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x600], edx
lea eax, [ebp - 0x600]
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x44]
mov dword [ebp - 0x5b0], edx
lea eax, [ebp - 0x5b0]
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
mov dword [ebp - 0x608], 0x27
mov ecx, dword [ebp - 0x608]
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x45c]
add edx, 0x14
mov dword [ebp - 0x454], edx
mov dword [ebp - 0x460], 0xd
mov eax, dword [ebp - 0x460]
add eax, 0x190
mov dword [ebp - 0x458], eax
push 0xa8
call fcn.00480108
add esp, 4
mov dword [ebp - 0x370], eax
mov dword [ebp - 4], 0x19
cmp dword [ebp - 0x370], 0
je 0x439bc2
push 0xa8
mov ecx, dword [ebp - 0x370]
call fcn.00413f70
sub esp, 0x10
mov ecx, esp
mov edx, dword [ebp - 0x460]
mov dword [ecx], edx
mov eax, dword [ebp - 0x45c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x458]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x454]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x370]
call fcn.00506d60
mov dword [ebp - 0x424], eax
jmp 0x439bcc
mov dword [ebp - 0x424], 0
mov eax, dword [ebp - 0x424]
mov dword [ebp - 0x5c4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x5c4]
mov dword [ecx + 0x4c], edx
push 0x5c
push 0
lea eax, [ebp - 0x158]
push eax
call fcn.0066eb10
add esp, 0xc
push 0x60
push 0x5a
mov ecx, dword [ebp - 0x328]
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 0xc
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0x70c]
push eax
mov ecx, dword [ebp - 0x328]
call fcn.00441690
mov dword [ebp - 0x5dc], eax
mov ecx, dword [ebp - 0x5dc]
call fcn.0041b040
push eax
push 0x7410e4
push 0x20
lea ecx, [ebp - 0x13c]
push ecx
call fcn.0066d85d
add esp, 0x10
lea ecx, [ebp - 0x70c]
call fcn.00419320
lea edx, [ebp - 0x158]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x5d8]
push eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x4c]
mov eax, dword [edx + 0x20]
call eax
push 0xbfbfbf
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x4c]
mov eax, dword [edx + 0x24]
call eax
push 0xbfbfbf
push 0xbfbfbf
push 0xbfbfbf
push 0xbfbfbf
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x4c]
mov eax, dword [edx + 0x5c]
call eax
push 0x24
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x4c]
mov eax, dword [edx + 0x28]
call eax
push 0
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x328]
mov edx, dword [edx]
mov ecx, dword [eax + 0x4c]
mov eax, dword [edx + 0x30]
call eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x5e0], edx
lea eax, [ebp - 0x5e0]
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + 0xf8]
push edx
mov ecx, dword [ebp - 0x328]
call fcn.00443120
mov eax, dword [ebp - 0x328]
add eax, 0x50
mov dword [ebp - 0x3d0], eax
push 4
lea ecx, [ebp - 0x14]
call fcn.00413f70
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x3d0]
call fcn.00416630
push 4
lea ecx, [ebp - 0x18]
call fcn.00413f70
lea edx, [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x3d0]
call fcn.00416660
jmp 0x439dad
lea ecx, [ebp - 0x14]
call fcn.00445ac0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041fb00
movzx ecx, al
test ecx, ecx
je 0x439df3
lea ecx, [ebp - 0x14]
call fcn.00416e70
mov edx, dword [eax]
mov dword [ebp - 0x5e8], edx
mov eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x5e4], eax
lea ecx, [ebp - 0x5e4]
push ecx
mov ecx, dword [ebp - 0x328]
add ecx, 0x5c
call fcn.00444ee0
jmp 0x439da5
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0066c98d
mov esp, ebp
pop ebp
ret