Function at 0x58cc10
Capabilities:
Get common file path
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x504
mov eax, dword [0x64e0a0]
xor eax, esp
mov dword [esp + 0x500], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x7c], edi
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov byte [0x652df9], 0
call fcn.0042c367
mov ecx, edi
call fcn.00594000
mov edx, dword [0x650ca4]
push 0
push 1
push 0
push 1
push 0xf7f7f7
push 0xbd
push 0xbc
lea ecx, [edi + 0x836c]
call fcn.005b7770
add esp, 0x1c
lea ecx, [esp + 0xc0]
push ecx
push 0x18
push eax
mov dword [edi + 0x8368], eax
call dword [sym.imp.GDI32.dll_GetObjectW]
mov ecx, dword [esp + 0xc4]
mov eax, ecx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
cmp dword [esp + 0xc8], 0x10
mov dword [edi + 0x8370], eax
je 0x58cce7
shl eax, 4
cmp eax, ecx
je 0x58cce7
mov dword [edi + 0x8370], 0
mov ecx, edi
call fcn.0058c870
mov edx, dword [0x650ca4]
mov eax, 0x53
mov word [0x650a3a], ax
mov eax, 0x70
mov word [0x650a46], ax
mov eax, 0x49
mov word [0x650a40], ax
xor eax, eax
push eax
push 1
push eax
push 1
push 0xf7f7f7
push 0xbf
push 0xbe
lea ecx, [edi + 0x83a8]
mov word [0x650a52], ax
call fcn.005b7770
add esp, 0x1c
mov dword [edi + 0x8398], eax
mov edx, dword [0x650ca4]
push 0
push 1
push 0
push 1
push 0xffe7e7
push 0xbf
push 0xbe
lea ecx, [edi + 0x83ac]
call fcn.005b7770
add esp, 0x1c
mov dword [edi + 0x839c], eax
mov edx, dword [0x650ca4]
push 0
push 1
push 0
push 1
push 0xfaf4f0
push 0xbf
push 0xbe
lea ecx, [edi + 0x83ac]
call fcn.005b7770
add esp, 0x1c
mov dword [edi + 0x83a4], eax
mov edx, dword [0x650ca4]
push 0
push 1
push 0
push 1
push 0xd7e0f5
push 0xbf
push 0xbe
lea ecx, [edi + 0x83ac]
call fcn.005b7770
add esp, 0x1c
lea esi, [edi + 0x8330]
push esi
push dword [edi + 0x20]
mov dword [edi + 0x83a0], eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esi + 8]
sub eax, dword [esi]
push 8
mov dword [edi + 0x8348], eax
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 4]
mov dword [edi + 0x8378], 0xfaf4f0
mov dword [edi + 0x834c], eax
call dword [sym.imp.USER32.dll_GetSysColor]
lea ecx, [edi + 0x1950]
mov dword [edi + 0x837c], eax
call fcn.0057ef20
lea ecx, [edi + 0x2210]
call fcn.00577c20
lea ecx, [edi + 0x2178]
call fcn.005772b0
lea ecx, [edi + 0xb4]
call fcn.005819b0
lea ecx, [edi + 0x2394]
call fcn.00586d10
sub esp, 8
lea ebx, [edi + 0x248c]
push 0x190
push 0xe
lea ecx, [ebx + 0x74]
mov dword [esp + 0x40], ebx
call fcn.005940a0
add esp, 0x10
sub esp, 8
cmp byte [0x650a55], 0
lea ecx, [ebx + 0x78]
jne 0x58ce86
push 0x2bc
push 0xb
jmp 0x58ce8d
push 0x190
push 0xc
call fcn.005940a0
xor eax, eax
add esp, 0x10
lea ecx, [edi + 0x270c]
mov word [ebx + 0x17c], ax
mov word [ebx + 0x7c], ax
call fcn.005863c0
movzx eax, word [0x650d20]
push 2
push 0xcfb6a2
push eax
push dword [0x650ca4]
lea ecx, [edi + 0x28b0]
push dword [0x650cac]
call fcn.00568ee0
push 0x13d
push 0x13a
push 0x139
push 0x410
lea ecx, [edi + 0x31ec]
call fcn.00576af0
push 0x13e
push 0x13c
push 0x13b
push 0x411
lea ecx, [edi + 0x3290]
call fcn.00576af0
sub esp, 8
mov dword [0x650a3c], 0x730079
push edi
push ecx
lea ecx, [edi + 0x2b70]
mov dword [0x650a42], 0x73006e
call fcn.0056ce70
test eax, eax
je 0x58cf72
push 4
push 0x46
push dword [edi + 0x8348]
lea ecx, [edi + 0x2b70]
push 0
push 0
push 0
call fcn.00428c97
push 5
lea ecx, [edi + 0x2b70]
call fcn.00428d17
push 0
push ecx
push 0xc
push 0x3e8
mov ecx, edi
call fcn.00590150
push 0
push ecx
push 0x17
push 0x403
mov ecx, edi
call fcn.00590150
movzx eax, word [0x650d20]
push 4
push 0
push eax
push dword [0x650ca4]
lea ecx, [edi + 0x2960]
push dword [0x650cac]
call fcn.00568ee0
push 0
push ecx
push 0x18
push 0x404
mov ecx, edi
call fcn.00590150
movzx eax, word [0x650d20]
push 5
push 0
push eax
push dword [0x650ca4]
lea ecx, [edi + 0x2ac0]
push dword [0x650cac]
call fcn.00568ee0
push 0
push ecx
push 0x19
push 0x405
mov ecx, edi
call fcn.00590150
movzx eax, word [0x650d20]
push 6
push 0
push eax
push dword [0x650ca4]
lea ecx, [edi + 0x2a10]
push dword [0x650cac]
call fcn.00568ee0
push 0xe
push 0
lea ecx, [edi + 0x2cac]
call fcn.00585480
push 0xd
push 1
lea ecx, [edi + 0x2d48]
call fcn.00585480
push dword [0x65bce8]
lea ecx, [edi + 0x3144]
call fcn.00428cd3
sub esp, 8
call fcn.00592a30
add esp, 4
lea ecx, [edi + 0x3144]
push eax
call fcn.005b5110
sub esp, 8
lea ecx, [edi + 0x3144]
call fcn.005b52b0
sub esp, 8
lea ecx, [edi + 0x3088]
push 0x2bc
push 0xe
call fcn.005940a0
mov eax, dword [edi + 0x3088]
add esp, 0x10
test eax, eax
je 0x58d087
mov eax, dword [eax + 4]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push eax
push 0x30
push dword [edi + 0x3034]
call esi
push 0
push 0x7f
push 0xc5
push dword [edi + 0x3034]
call esi
push 0
push 3
push 0xd3
push dword [edi + 0x3034]
call esi
movzx eax, word [0x650d20]
push 1
push 0xcfb6a2
push eax
push dword [0x650ca4]
lea ecx, [edi + 0x3094]
push dword [0x650cac]
call fcn.00568ee0
push 0x20
push 3
push 0x161
push dword [edi + 0x22cc]
call esi
push dword [0x65bcc8]
push 0
push 0x143
push dword [edi + 0x22cc]
call esi
push dword [0x65bccc]
push 0
push 0x143
push dword [edi + 0x22cc]
call esi
push dword [0x65bcd0]
push 0
push 0x143
push dword [edi + 0x22cc]
call esi
push 0
push 0
push 0x14e
push dword [edi + 0x22cc]
call esi
push 0x20
push 5
push 0x161
push dword [edi + 0x2340]
call esi
push dword [0x65bec0]
push 0
push 0x143
push dword [edi + 0x2340]
call esi
push dword [0x65bec4]
push 0
push 0x143
push dword [edi + 0x2340]
call esi
push dword [0x65bec8]
push 0
push 0x143
push dword [edi + 0x2340]
call esi
push dword [0x65becc]
push 0
push 0x143
push dword [edi + 0x2340]
call esi
push dword [0x65bed0]
push 0
push 0x143
push dword [edi + 0x2340]
call esi
push 0
push 0
push 0x14e
push dword [edi + 0x2340]
call esi
lea ecx, [edi + 0x3334]
call fcn.00588550
mov edx, dword [0x65bfa4]
mov ecx, edx
mov dword [0x650a36], 0x200054
mov dword [0x650a48], 0x630065
lea esi, [ecx + 2]
jmp 0x58d200
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58d200
sub ecx, esi
sar ecx, 1
je 0x58d224
dec ecx
cmp word [edx], 0x7c
jne 0x58d21d
xor eax, eax
mov word [edx], ax
add edx, 2
test ecx, ecx
jne 0x58d211
mov edx, dword [0x65c004]
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58d230
sub ecx, esi
sar ecx, 1
je 0x58d254
dec ecx
cmp word [edx], 0x7c
jne 0x58d24d
xor eax, eax
mov word [edx], ax
add edx, 2
test ecx, ecx
jne 0x58d241
mov edx, dword [0x65bfa8]
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58d260
sub ecx, esi
sar ecx, 1
je 0x58d284
dec ecx
cmp word [edx], 0x7c
jne 0x58d27d
xor eax, eax
mov word [edx], ax
add edx, 2
test ecx, ecx
jne 0x58d271
mov edx, dword [0x65c008]
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58d290
sub ecx, esi
sar ecx, 1
je 0x58d2b4
dec ecx
cmp word [edx], 0x7c
jne 0x58d2ad
xor eax, eax
mov word [edx], ax
add edx, 2
test ecx, ecx
jne 0x58d2a1
mov edx, dword [0x65c0b0]
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58d2c0
sub ecx, esi
sar ecx, 1
je 0x58d2e4
dec ecx
cmp word [edx], 0x7c
jne 0x58d2dd
xor eax, eax
mov word [edx], ax
add edx, 2
test ecx, ecx
jne 0x58d2d1
mov edx, dword [0x65c0b4]
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58d2f0
sub ecx, esi
sar ecx, 1
je 0x58d314
dec ecx
cmp word [edx], 0x7c
jne 0x58d30d
xor eax, eax
mov word [edx], ax
add edx, 2
test ecx, ecx
jne 0x58d301
mov edx, dword [0x65bff0]
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58d320
sub ecx, esi
sar ecx, 1
je 0x58d344
dec ecx
cmp word [edx], 0x7c
jne 0x58d33d
xor eax, eax
mov word [edx], ax
add edx, 2
test ecx, ecx
jne 0x58d331
mov edx, dword [0x65bff4]
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58d350
sub ecx, esi
sar ecx, 1
je 0x58d374
dec ecx
cmp word [edx], 0x7c
jne 0x58d36d
xor eax, eax
mov word [edx], ax
add edx, 2
test ecx, ecx
jne 0x58d361
lea esi, [edi + 0x3648]
xor eax, eax
mov word [esi], ax
cmp word [0x651032], ax
je 0x58d41d
mov ebx, dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [esp + 0xf8]
push eax
push 0x104
call ebx
lea eax, [esp + 0xf8]
push eax
push 0x651032
call fcn.005433a5
add esp, 8
test eax, eax
jne 0x58d3c2
push ecx
mov ecx, 0x651032
jmp 0x58d3f0
lea eax, [esp + 0x300]
push eax
push 0x104
call ebx
lea eax, [esp + 0x300]
push eax
push 0x65123c
call fcn.005433a5
add esp, 8
test eax, eax
jne 0x58d3fe
push ecx
mov ecx, 0x65123c
push esi
mov edx, 0x105
call fcn.00594e30
add esp, 8
cmp word [esi], 0
jne 0x58d472
mov ecx, 0x65300c
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58d410
jmp 0x58d430
mov ecx, 0x65300c
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58d425
sub ecx, edx
sar ecx, 1
cmp ecx, 0x104
jae 0x58d451
push 0x65300c
push 0x104
push esi
call fcn.00543349
add esp, 0xc
jmp 0x58d472
push 0x103
push 0x65300c
push 0x104
push esi
call fcn.00543d6d
add esp, 0x10
xor eax, eax
mov word [esi + 0x206], ax
push 0
push ecx
push 0
push 0x3e9
mov ecx, edi
call fcn.00590150
inc dword [edi + 0x7ca4]
inc dword [edi + 0x7cb4]
mov eax, dword [edi + 0x7cac]
sub eax, dword [edi + 0x7ca4]
mov ecx, dword [edi + 0x7cc0]
push 0x614
push eax
mov eax, dword [edi + 0x7ca8]
sub eax, dword [edi + 0x7ca0]
push eax
mov eax, dword [edi + 0x7cd8]
add eax, dword [edi + 0x7ca4]
push eax
mov eax, dword [edi + 0x7cd4]
add eax, dword [edi + 0x7ca0]
push eax
push 0
call fcn.00428c97
push 1
push ecx
push 1
push 0x3ea
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x7ce0]
mov ecx, dword [edi + 0x7d00]
push 5
push 0
push 0
push dword [edi + 0x7ce4]
inc eax
push eax
push 0
mov dword [edi + 0x7d14], 1
mov dword [edi + 0x7d18], 0
call fcn.00428c97
inc dword [edi + 0x7ce4]
inc dword [edi + 0x7cf4]
dec dword [edi + 0x7ce8]
dec dword [edi + 0x7cf8]
inc dword [edi + 0x7cec]
inc dword [edi + 0x7cfc]
mov eax, dword [edi + 0x7cec]
sub eax, dword [edi + 0x7ce4]
mov ecx, dword [edi + 0x7d00]
push 0x614
push eax
mov eax, dword [edi + 0x7ce8]
sub eax, dword [edi + 0x7ce0]
push eax
mov eax, dword [edi + 0x7d18]
add eax, dword [edi + 0x7ce4]
push eax
mov eax, dword [edi + 0x7d14]
add eax, dword [edi + 0x7ce0]
push eax
push 0
call fcn.00428c97
push 1
push ecx
push 2
push 0x3eb
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x7d24]
mov ecx, dword [edi + 0x7d40]
push 5
push 0
push 0
inc eax
push eax
push dword [edi + 0x7d20]
mov dword [edi + 0x7d54], 0
mov dword [edi + 0x7d58], 1
push 0
call fcn.00428c97
push 0
push ecx
push 0x15
push 0x412
mov ecx, edi
call fcn.00590150
push 1
push ecx
push 5
push 0x3f3
mov ecx, edi
mov dword [edi + 0x2938], 0xffffffff
call fcn.00590150
push 0
push ecx
push 6
push 0x3ed
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x7e20]
mov ecx, dword [edi + 0x7e40]
push 5
push 0
push 0
push dword [edi + 0x7e24]
inc eax
push eax
push 0
mov dword [edi + 0x7e54], 1
mov dword [edi + 0x7e58], 0
call fcn.00428c97
dec dword [edi + 0x7e28]
dec dword [edi + 0x7e38]
dec dword [edi + 0x7e2c]
dec dword [edi + 0x7e3c]
mov eax, dword [edi + 0x7e2c]
sub eax, dword [edi + 0x7e24]
mov ecx, dword [edi + 0x7e40]
push 0x614
push eax
mov eax, dword [edi + 0x7e28]
sub eax, dword [edi + 0x7e20]
push eax
mov eax, dword [edi + 0x7e58]
add eax, dword [edi + 0x7e24]
push eax
mov eax, dword [edi + 0x7e54]
add eax, dword [edi + 0x7e20]
push eax
push 0
call fcn.00428c97
push 1
push ecx
push 0x13
push 0x410
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x8164]
mov ecx, dword [edi + 0x8180]
push 5
push 0
push 0
inc eax
push eax
push dword [edi + 0x8160]
mov dword [edi + 0x8194], 0
push 0
mov dword [edi + 0x8198], 1
call fcn.00428c97
push 1
push ecx
push 0x14
push 0x411
mov ecx, edi
call fcn.00590150
push 5
push 0
mov dword [edi + 0x81d4], 0
mov dword [edi + 0x81d8], 1
push 0
mov eax, dword [edi + 0x81a4]
mov ecx, dword [edi + 0x81c0]
inc eax
push eax
push dword [edi + 0x81a0]
push 0
call fcn.00428c97
push 1
push ecx
push 3
push 0x3ee
mov ecx, edi
call fcn.00590150
push 0
push ecx
push 4
push 0x3ec
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x7da4]
mov ecx, dword [edi + 0x7dc0]
push 5
push 0
push 0
inc eax
push eax
mov eax, dword [edi + 0x7da0]
inc eax
push eax
push 0
mov dword [edi + 0x7dd4], 1
mov dword [edi + 0x7dd8], 1
call fcn.00428c97
fld1
fld dword [0x650d1c]
fcom st(1)
fnstsw ax
fstp st(1)
fldz
fld qword [0x6226a0]
test ah, 0x41
jne 0x58d845
fxch st(2)
fucom st(1)
fnstsw ax
test ah, 0x44
jp 0x58d7b3
fstp st(2)
mov esi, 5
jmp 0x58d7c0
fld st(0)
fmulp st(3)
fxch st(2)
call fcn.00549020
mov esi, eax
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x58d7d2
fstp st(0)
mov eax, 0xa
jmp 0x58d7dd
fmul qword [0x6226b8]
call fcn.00549020
test eax, eax
je 0x58d7ed
add dword [edi + 0x7da0], eax
add dword [edi + 0x7db0], eax
test esi, esi
je 0x58d7fd
add dword [edi + 0x7da8], esi
add dword [edi + 0x7db8], esi
mov eax, dword [edi + 0x7dac]
sub eax, dword [edi + 0x7da4]
mov ecx, dword [edi + 0x7dc0]
push 0x614
push eax
mov eax, dword [edi + 0x7da8]
sub eax, dword [edi + 0x7da0]
push eax
mov eax, dword [edi + 0x7dd8]
add eax, dword [edi + 0x7da4]
push eax
mov eax, dword [edi + 0x7dd4]
add eax, dword [edi + 0x7da0]
push eax
push 0
call fcn.00428c97
jmp 0x58d84b
fstp st(0)
fstp st(1)
fstp st(0)
push 0
push ecx
push 0xf
push 0x3fc
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x8064]
mov ecx, dword [edi + 0x8080]
push 5
push 0
push 0
inc eax
push eax
push dword [edi + 0x8060]
mov dword [edi + 0x8094], 0
push 0
mov dword [edi + 0x8098], 1
call fcn.00428c97
push 0
push ecx
push 0x10
push 0x3fd
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x80a4]
mov ecx, dword [edi + 0x80c0]
push 5
push 0
push 0
inc eax
push eax
push dword [edi + 0x80a0]
mov dword [edi + 0x80d4], 0
push 0
mov dword [edi + 0x80d8], 1
call fcn.00428c97
push 0
push ecx
push 0x12
push 0x3fe
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x8124]
mov ecx, dword [edi + 0x8140]
push 5
push 0
push 0
inc eax
push eax
push dword [edi + 0x8120]
mov dword [edi + 0x8154], 0
push 0
mov dword [edi + 0x8158], 1
call fcn.00428c97
push 0
push ecx
push 7
push 0x3f2
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x7e64]
mov ecx, dword [edi + 0x7e80]
push 5
push 0
push 0
dec eax
push eax
push dword [edi + 0x7e60]
mov dword [edi + 0x7e94], 0
push 0
mov dword [edi + 0x7e98], 0xffffffff
call fcn.00428c97
push 0
push ecx
push 9
push 0x3f0
mov ecx, edi
call fcn.00590150
push 0
push ecx
push 0xa
push 0x401
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x7f3c]
sub eax, dword [edi + 0x7f34]
mov esi, dword [edi + 0x7f34]
cdq
sub eax, edx
sar eax, 1
add esi, 0xfffffff6
add esi, eax
lea eax, [esp + 0xd8]
push eax
push dword [edi + 0x3164]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
call dword [sym.imp.USER32.dll_GetWindowRect]
fld dword [0x650d1c]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x58da02
mov ebx, dword [esp + 0xe0]
sub ebx, dword [esp + 0xd8]
jmp 0x58da2d
mov eax, dword [esp + 0xe0]
sub eax, dword [esp + 0xd8]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [0x650d1c]
call fcn.00549020
mov ebx, eax
mov edx, dword [edi + 0x8348]
push 4
push 0x14
push ebx
sub edx, ebx
push esi
sub edx, 6
push edx
push 0
lea ecx, [edi + 0x3144]
call fcn.00428c97
mov esi, dword [edi + 0x8348]
sub esi, dword [edi + 0x7f38]
sub esi, ebx
sub esi, 0xc
je 0x58da77
add dword [edi + 0x8120], esi
add dword [edi + 0x8130], esi
add dword [edi + 0x8128], esi
add dword [edi + 0x8138], esi
mov eax, dword [edi + 0x812c]
sub eax, dword [edi + 0x8124]
mov ecx, dword [edi + 0x8140]
push 0x614
push eax
mov eax, dword [edi + 0x8128]
sub eax, dword [edi + 0x8120]
push eax
mov eax, dword [edi + 0x8158]
add eax, dword [edi + 0x8124]
push eax
mov eax, dword [edi + 0x8154]
add eax, dword [edi + 0x8120]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58dad9
add dword [edi + 0x7ee0], esi
add dword [edi + 0x7ef0], esi
add dword [edi + 0x7ee8], esi
add dword [edi + 0x7ef8], esi
mov eax, dword [edi + 0x7eec]
sub eax, dword [edi + 0x7ee4]
mov ecx, dword [edi + 0x7f00]
push 0x614
push eax
mov eax, dword [edi + 0x7ee8]
sub eax, dword [edi + 0x7ee0]
push eax
mov eax, dword [edi + 0x7f18]
add eax, dword [edi + 0x7ee4]
push eax
mov eax, dword [edi + 0x7f14]
add eax, dword [edi + 0x7ee0]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58db3b
add dword [edi + 0x7f20], esi
add dword [edi + 0x7f30], esi
add dword [edi + 0x7f28], esi
add dword [edi + 0x7f38], esi
mov eax, dword [edi + 0x7f2c]
sub eax, dword [edi + 0x7f24]
mov ecx, dword [edi + 0x7f40]
push 0x614
push eax
mov eax, dword [edi + 0x7f28]
sub eax, dword [edi + 0x7f20]
push eax
mov eax, dword [edi + 0x7f58]
add eax, dword [edi + 0x7f24]
push eax
mov eax, dword [edi + 0x7f54]
add eax, dword [edi + 0x7f20]
push eax
push 0
call fcn.00428c97
push 0
push ecx
push 0xb
push 0x3f1
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x7f64]
mov ecx, dword [edi + 0x7f80]
push 5
push 0
push 0
dec eax
push eax
push dword [edi + 0x7f60]
mov dword [edi + 0x7f94], 0
push 0
mov dword [edi + 0x7f98], 0xffffffff
call fcn.00428c97
push 0
push ecx
push 0xe
push 0x3f5
mov ecx, edi
call fcn.00590150
push 0
push ecx
push 0xd
push 0x3f4
mov ecx, edi
call fcn.00590150
inc dword [edi + 0x7fe4]
inc dword [edi + 0x7ff4]
dec dword [edi + 0x7fec]
dec dword [edi + 0x7ffc]
mov eax, dword [edi + 0x7fec]
sub eax, dword [edi + 0x7fe4]
mov ecx, dword [edi + 0x8000]
push 0x614
push eax
mov eax, dword [edi + 0x7fe8]
sub eax, dword [edi + 0x7fe0]
push eax
mov eax, dword [edi + 0x8018]
add eax, dword [edi + 0x7fe4]
push eax
mov eax, dword [edi + 0x8014]
add eax, dword [edi + 0x7fe0]
push eax
push 0
call fcn.00428c97
push 0
push ecx
push 0x11
push 0x3ff
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x80e4]
push 5
push 0
push 0
inc eax
push eax
push dword [edi + 0x80e0]
mov dword [edi + 0x8114], 0
mov dword [edi + 0x8118], 1
mov ecx, dword [edi + 0x8100]
push 0
call fcn.00428c97
push 0
push ecx
push 8
push 0x400
mov ecx, edi
call fcn.00590150
mov eax, dword [edi + 0x7ea4]
mov ecx, dword [edi + 0x7ec0]
push 5
push 0
push 0
dec eax
push eax
push dword [edi + 0x7ea0]
mov dword [edi + 0x7ed4], 0
push 0
mov dword [edi + 0x7ed8], 0xffffffff
call fcn.00428c97
mov ecx, dword [edi + 0x7ec0]
push 0
call fcn.00428d17
mov ecx, dword [edi + 0x8100]
push 0
call fcn.00428d17
push 1
push ecx
push 0x16
push 0x402
mov ecx, edi
call fcn.00590150
mov ecx, dword [edi + 0x8240]
mov dword [edi + 0x8220], 0xf
mov dword [edi + 0x8230], 0xf
mov eax, dword [edi + 0x822c]
sub eax, dword [edi + 0x8224]
push 0x614
push eax
mov eax, dword [edi + 0x8228]
sub eax, dword [edi + 0x8220]
push eax
mov eax, dword [edi + 0x8258]
add eax, dword [edi + 0x8224]
push eax
mov eax, dword [edi + 0x8254]
add eax, 0xf
push eax
push 0
call fcn.00428c97
fld dword [0x650d1c]
fld1
fucompp
fnstsw ax
test ah, 0x44
jnp 0x58e0e3
mov ebx, dword [edi + 0x7fe8]
sub ebx, dword [edi + 0x7fe0]
sub ebx, 7
test ebx, ebx
jle 0x58df61
mov esi, ebx
neg esi
je 0x58dd93
add dword [edi + 0x7ce0], esi
add dword [edi + 0x7cf0], esi
add dword [edi + 0x7ce8], ebx
add dword [edi + 0x7cf8], ebx
mov eax, dword [edi + 0x7cec]
sub eax, dword [edi + 0x7ce4]
mov ecx, dword [edi + 0x7d00]
push 0x614
push eax
mov eax, dword [edi + 0x7ce8]
sub eax, dword [edi + 0x7ce0]
push eax
mov eax, dword [edi + 0x7d18]
add eax, dword [edi + 0x7ce4]
push eax
mov eax, dword [edi + 0x7d14]
add eax, dword [edi + 0x7ce0]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58ddf5
add dword [edi + 0x7de0], esi
add dword [edi + 0x7df0], esi
add dword [edi + 0x7de8], ebx
add dword [edi + 0x7df8], ebx
mov eax, dword [edi + 0x7dec]
sub eax, dword [edi + 0x7de4]
mov ecx, dword [edi + 0x7e00]
push 0x614
push eax
mov eax, dword [edi + 0x7de8]
sub eax, dword [edi + 0x7de0]
push eax
mov eax, dword [edi + 0x7e18]
add eax, dword [edi + 0x7de4]
push eax
mov eax, dword [edi + 0x7e14]
add eax, dword [edi + 0x7de0]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58de57
add dword [edi + 0x7e20], esi
add dword [edi + 0x7e30], esi
add dword [edi + 0x7e28], ebx
add dword [edi + 0x7e38], ebx
mov eax, dword [edi + 0x7e2c]
sub eax, dword [edi + 0x7e24]
mov ecx, dword [edi + 0x7e40]
push 0x614
push eax
mov eax, dword [edi + 0x7e28]
sub eax, dword [edi + 0x7e20]
push eax
mov eax, dword [edi + 0x7e58]
add eax, dword [edi + 0x7e24]
push eax
mov eax, dword [edi + 0x7e54]
add eax, dword [edi + 0x7e20]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58deb9
add dword [edi + 0x8020], esi
add dword [edi + 0x8030], esi
add dword [edi + 0x8028], ebx
add dword [edi + 0x8038], ebx
mov eax, dword [edi + 0x802c]
sub eax, dword [edi + 0x8024]
mov ecx, dword [edi + 0x8040]
push 0x614
push eax
mov eax, dword [edi + 0x8028]
sub eax, dword [edi + 0x8020]
push eax
mov eax, dword [edi + 0x8058]
add eax, dword [edi + 0x8024]
push eax
mov eax, dword [edi + 0x8054]
add eax, dword [edi + 0x8020]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58df1b
add dword [edi + 0x7fe8], esi
add dword [edi + 0x7ff8], esi
mov eax, dword [edi + 0x7fec]
sub eax, dword [edi + 0x7fe4]
mov ecx, dword [edi + 0x8000]
push 0x614
push eax
mov eax, dword [edi + 0x7fe8]
sub eax, dword [edi + 0x7fe0]
push eax
mov eax, dword [edi + 0x8018]
add eax, dword [edi + 0x7fe4]
push eax
mov eax, dword [edi + 0x8014]
add eax, dword [edi + 0x7fe0]
push eax
push 0
call fcn.00428c97
mov ebx, dword [edi + 0x802c]
sub ebx, dword [edi + 0x8024]
sub ebx, 7
test ebx, ebx
jle 0x58e0e3
inc dword [edi + 0x7cec]
inc dword [edi + 0x7cfc]
mov eax, dword [edi + 0x7cec]
sub eax, dword [edi + 0x7ce4]
mov ecx, dword [edi + 0x7d00]
push 0x614
push eax
mov eax, dword [edi + 0x7ce8]
sub eax, dword [edi + 0x7ce0]
push eax
mov eax, dword [edi + 0x7d18]
add eax, dword [edi + 0x7ce4]
push eax
mov eax, dword [edi + 0x7d14]
add eax, dword [edi + 0x7ce0]
push eax
push 0
call fcn.00428c97
mov eax, ebx
neg eax
je 0x58dfdc
add dword [edi + 0x802c], eax
add dword [edi + 0x803c], eax
mov eax, dword [edi + 0x802c]
sub eax, dword [edi + 0x8024]
mov ecx, dword [edi + 0x8040]
push 0x614
push eax
mov eax, dword [edi + 0x8028]
sub eax, dword [edi + 0x8020]
push eax
mov eax, dword [edi + 0x8058]
add eax, dword [edi + 0x8024]
push eax
mov eax, dword [edi + 0x8054]
add eax, dword [edi + 0x8020]
push eax
push 0
call fcn.00428c97
mov esi, 2
sub esi, ebx
je 0x58e037
add dword [edi + 0x7de4], esi
add dword [edi + 0x7df4], esi
test esi, esi
je 0x58e047
add dword [edi + 0x7dec], esi
add dword [edi + 0x7dfc], esi
mov eax, dword [edi + 0x7dec]
sub eax, dword [edi + 0x7de4]
mov ecx, dword [edi + 0x7e00]
push 0x614
push eax
mov eax, dword [edi + 0x7de8]
sub eax, dword [edi + 0x7de0]
push eax
mov eax, dword [edi + 0x7e18]
add eax, dword [edi + 0x7de4]
push eax
mov eax, dword [edi + 0x7e14]
add eax, dword [edi + 0x7de0]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58e09d
add dword [edi + 0x7e24], esi
add dword [edi + 0x7e34], esi
mov eax, dword [edi + 0x7e2c]
sub eax, dword [edi + 0x7e24]
mov ecx, dword [edi + 0x7e40]
push 0x614
push eax
mov eax, dword [edi + 0x7e28]
sub eax, dword [edi + 0x7e20]
push eax
mov eax, dword [edi + 0x7e58]
add eax, dword [edi + 0x7e24]
push eax
mov eax, dword [edi + 0x7e54]
add eax, dword [edi + 0x7e20]
push eax
push 0
call fcn.00428c97
inc dword [edi + 0x7e2c]
inc dword [edi + 0x7e3c]
mov eax, dword [edi + 0x7e2c]
sub eax, dword [edi + 0x7e24]
mov ecx, dword [edi + 0x7e40]
push 0x614
push eax
mov eax, dword [edi + 0x7e28]
sub eax, dword [edi + 0x7e20]
push eax
mov eax, dword [edi + 0x7e58]
add eax, dword [edi + 0x7e24]
push eax
mov eax, dword [edi + 0x7e54]
add eax, dword [edi + 0x7e20]
push eax
push 0
call fcn.00428c97
mov ecx, edi
call fcn.0058adf0
mov ecx, edi
call fcn.00584ba0
mov esi, dword [sym.imp.USER32.dll_LoadCursorW]
xor eax, eax
push 0x7f84
mov word [edi + 0x35c8], ax
push eax
mov dword [edi + 0x9c], eax
call esi
push 0x7f85
push 0
mov dword [edi + 0x8354], eax
call esi
push 0x7f86
push 0
mov dword [edi + 0x8358], eax
call esi
push 0x7f89
push 0
mov dword [edi + 0x835c], eax
call esi
push 0x7f00
push 0
mov dword [edi + 0x8360], eax
call esi
push dword [edi + 0x8378]
mov ebx, dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [edi + 0x8364], eax
call ebx
push eax
lea ecx, [edi + 0x8380]
call fcn.00429d75
push dword [edi + 0x837c]
mov esi, dword [sym.imp.GDI32.dll_CreatePen]
push 1
push 0
call esi
push eax
lea ecx, [edi + 0x8388]
call fcn.00429d75
push 0x14
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push 1
push 0
call esi
push eax
lea ecx, [edi + 0x8390]
call fcn.00429d75
push 0xfaf4f0
mov dword [edi + 0x2e5c], 0x333333
mov dword [edi + 0x2e60], 0xfaf4f0
call ebx
push eax
lea ecx, [edi + 0x2e64]
call fcn.00429d75
sub esp, 8
mov dword [edi + 0x2e58], 0x3fc
push 0x2bc
push 0xe
lea ecx, [edi + 0x2e6c]
call fcn.005940a0
mov eax, dword [edi + 0x2e6c]
add esp, 0x10
test eax, eax
je 0x58e24b
mov eax, dword [eax + 4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push eax
push 0x30
push dword [edi + 0x2e04]
call ebx
push dword [0x65bce0]
mov ecx, edi
push 0x3fc
call fcn.00428c08
mov eax, dword [edi + 0x2e6c]
test eax, eax
je 0x58e27d
mov eax, dword [eax + 4]
push 1
push eax
push 0x30
push dword [edi + 0x22cc]
call ebx
push 0xfaf4f0
mov dword [edi + 0x3000], 0x333333
mov dword [edi + 0x3004], 0xfaf4f0
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
lea ecx, [edi + 0x3008]
call fcn.00429d75
sub esp, 8
lea ecx, [edi + 0x3010]
push 0x2bc
push 0xe
mov dword [edi + 0x2ffc], 0x3ff
call fcn.005940a0
mov eax, dword [edi + 0x3010]
add esp, 0x10
test eax, eax
je 0x58e2e4
mov eax, dword [eax + 4]
push 1
push eax
push 0x30
push dword [edi + 0x2fa8]
call ebx
push dword [0x65bcd8]
mov ecx, edi
push 0x3ff
call fcn.00428c08
mov eax, dword [edi + 0x3010]
test eax, eax
je 0x58e310
mov eax, dword [eax + 4]
push 1
push eax
push 0x30
push dword [edi + 0x2340]
call ebx
push 0xfaf4f0
mov dword [edi + 0x2ee8], 0x333333
mov dword [edi + 0x2eec], 0xfaf4f0
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
lea ecx, [edi + 0x2ef0]
call fcn.00429d75
sub esp, 8
lea ecx, [edi + 0x2ef8]
push 0x2bc
push 0xe
mov dword [edi + 0x2ee4], 0x3fd
call fcn.005940a0
mov eax, dword [edi + 0x2ef8]
add esp, 0x10
test eax, eax
je 0x58e377
mov eax, dword [eax + 4]
push 1
push eax
push 0x30
push dword [edi + 0x2e90]
call ebx
push dword [0x65bcdc]
mov ecx, edi
push 0x3fd
call fcn.00428c08
mov dword [0x650a32], 0x450053
mov dword [0x650a4c], 0x6f0074
push 0xfaf4f0
mov dword [edi + 0x2f74], 0x333333
mov dword [edi + 0x2f78], 0xfaf4f0
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
lea ecx, [edi + 0x2f7c]
call fcn.00429d75
sub esp, 8
lea ecx, [edi + 0x2f84]
push 0x2bc
push 0xe
mov dword [edi + 0x2f70], 0x3fe
call fcn.005940a0
mov eax, dword [edi + 0x2f84]
add esp, 0x10
test eax, eax
je 0x58e404
mov eax, dword [eax + 4]
push 1
push eax
push 0x30
push dword [edi + 0x2f1c]
call ebx
push dword [0x65bce4]
mov ecx, edi
push 0x3fe
call fcn.00428c08
push 0
push 0xfa
push 0
push dword [edi + 0x20]
mov dword [edi + 0x3868], 0
mov dword [edi + 0x3864], 0
mov dword [edi + 0x3860], 0
mov dword [edi + 0x385c], 0
mov dword [edi + 0x3858], 0
mov dword [edi + 0x3854], 0
mov dword [edi + 0x3850], 0
call dword [sym.imp.USER32.dll_SetTimer]
push 1
push dword [edi + 0x20]
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov dword [edi + 0xb0], 0
mov dword [edi + 0xac], 0
mov dword [edi + 0xa8], 0
mov dword [edi + 0xa0], 0
mov eax, 0x45
mov word [0x650a30], ax
mov eax, 0x72
mov word [0x650a50], ax
mov eax, dword [edi + 0x7ca0]
mov dword [edi + 0x831c], eax
mov eax, dword [edi + 0x7ca4]
mov dword [edi + 0x8320], eax
mov eax, dword [edi + 0x7ca8]
mov dword [edi + 0x8324], eax
mov eax, dword [edi + 0x7cac]
mov ecx, edi
mov dword [edi + 0x8328], eax
call fcn.0058c8c0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call fcn.00423869
lea ecx, [esp + 0xe8]
push ecx
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetClientRect]
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.00429fbe
mov esi, eax
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x1c]
mov edx, dword [0x65bce0]
mov ecx, dword [edi + 0x2ef8]
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
jne 0x58e55a
xor ecx, ecx
jmp 0x58e598
test ecx, ecx
je 0x58e56a
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58e573
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x34]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov ecx, dword [esp + 0x34]
push 0
push 0
push 0x31
push dword [edi + 0x22cc]
mov dword [esp + 0x3c], ecx
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bcc8]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
je 0x58e611
test ecx, ecx
je 0x58e5e2
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
jmp 0x58e5f0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58e5f0
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
push 0
push 0
push 0x31
push dword [edi + 0x22cc]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bcc8]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
jne 0x58e651
mov dword [esp + 0x1c], 0
jmp 0x58e699
test ecx, ecx
je 0x58e661
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58e670
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x24]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
push 0
push 0
push 0x31
push dword [edi + 0x22cc]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bccc]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
jne 0x58e6d3
xor eax, eax
jmp 0x58e715
test ecx, ecx
je 0x58e6e3
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58e6f0
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x1c], eax
ja 0x58e7a9
push 0
push 0
push 0x31
push dword [edi + 0x22cc]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bccc]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
jne 0x58e75f
mov dword [esp + 0x1c], 0
jmp 0x58e7a9
test ecx, ecx
je 0x58e76f
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
jmp 0x58e780
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58e780
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x4c]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
push 0
push 0
push 0x31
push dword [edi + 0x22cc]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bcd0]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
jne 0x58e7e9
xor eax, eax
jmp 0x58e82d
test ecx, ecx
je 0x58e7f9
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58e802
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x98]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x98]
cmp dword [esp + 0x1c], eax
ja 0x58e8b9
push 0
push 0
push 0x31
push dword [edi + 0x22cc]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bcd0]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
jne 0x58e877
mov dword [esp + 0x1c], 0
jmp 0x58e8b9
test ecx, ecx
je 0x58e887
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58e890
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x5c]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov edx, dword [0x65bcdc]
mov ecx, dword [edi + 0x2ef8]
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
jne 0x58e8ef
mov dword [esp + 0x24], 0
jmp 0x58e93f
test ecx, ecx
je 0x58e8ff
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
jmp 0x58e910
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58e910
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0xa8]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x24], eax
mov edx, dword [0x65bcd8]
mov ecx, dword [edi + 0x3010]
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
jne 0x58e969
xor eax, eax
jmp 0x58e9a7
test ecx, ecx
je 0x58e979
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58e982
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x6c]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x6c]
push 0
push 0
push 0x31
push dword [edi + 0x2340]
mov dword [esp + 0x44], eax
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bec0]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
je 0x58ea24
test ecx, ecx
je 0x58e9f7
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58ea00
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0xb8]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
push 0
push 0
push 0x31
push dword [edi + 0x2340]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bec0]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
jne 0x58ea6a
mov dword [esp + 0x14], 0
jmp 0x58eab2
test ecx, ecx
je 0x58ea7a
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58ea83
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x90]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
push 0
push 0
push 0x31
push dword [edi + 0x2340]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bec4]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
jne 0x58eaec
xor eax, eax
jmp 0x58eb2a
test ecx, ecx
je 0x58eafc
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58eb05
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x3c]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x14], eax
ja 0x58ebc2
push 0
push 0
push 0x31
push dword [edi + 0x2340]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bec4]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
jne 0x58eb7a
mov dword [esp + 0x14], 0
jmp 0x58ebc2
test ecx, ecx
je 0x58eb8a
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58eb93
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], eax
push 0
push 0
push 0x31
push dword [edi + 0x2340]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bec8]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
jne 0x58ec02
xor eax, eax
jmp 0x58ec4b
test ecx, ecx
je 0x58ec12
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
jmp 0x58ec20
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58ec20
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x88]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x88]
cmp dword [esp + 0x14], eax
ja 0x58ece3
push 0
push 0
push 0x31
push dword [edi + 0x2340]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bec8]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
jne 0x58ec9b
mov dword [esp + 0x14], 0
jmp 0x58ece3
test ecx, ecx
je 0x58ecab
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58ecb4
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0xb0]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x14], eax
push 0
push 0
push 0x31
push dword [edi + 0x2340]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65becc]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
jne 0x58ed1d
xor eax, eax
jmp 0x58ed5b
test ecx, ecx
je 0x58ed2d
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58ed36
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x44]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x14], eax
ja 0x58ede9
push 0
push 0
push 0x31
push dword [edi + 0x2340]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65becc]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
jne 0x58eda5
mov dword [esp + 0x14], 0
jmp 0x58ede9
test ecx, ecx
je 0x58edb5
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58edc0
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x54]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
push 0
push 0
push 0x31
push dword [edi + 0x2340]
call ebx
push eax
call fcn.00429fd0
mov edx, dword [0x65bed0]
mov ecx, eax
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
jne 0x58ee23
xor eax, eax
jmp 0x58ee65
test ecx, ecx
je 0x58ee33
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58ee40
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x64]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [esp + 0x64]
cmp dword [esp + 0x14], eax
jbe 0x58ee76
mov ebx, dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
jmp 0x58eef9
push 0
push 0
push 0x31
push dword [edi + 0x2340]
call ebx
push eax
call fcn.00429fd0
mov ebx, dword [0x65bed0]
mov ecx, eax
cmp word [ebx], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
jne 0x58eeb8
mov ebx, dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov dword [esp + 0x14], 0
jmp 0x58eef9
test ecx, ecx
je 0x58eec4
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov ecx, ebx
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58eed0
sub ecx, edx
lea eax, [esp + 0x74]
push eax
sar ecx, 1
push ecx
push ebx
push dword [esi + 4]
mov ebx, dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
call ebx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], eax
mov edx, dword [0x65bce4]
mov ecx, dword [edi + 0x2f84]
cmp word [edx], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
jne 0x58ef29
xor eax, eax
jmp 0x58ef69
test ecx, ecx
je 0x58ef39
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x10], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x58ef42
sub ecx, dword [esp + 0x10]
lea eax, [esp + 0x80]
push eax
sar ecx, 1
push ecx
push edx
push dword [esi + 4]
call ebx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [esi]
push 0xffffffffffffffff
mov ecx, esi
call dword [eax + 0x20]
push dword [esi + 4]
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov esi, dword [esp + 0x2c]
mov ebx, dword [edi + 0x8060]
cmp esi, 0xffffffff
je 0x58efa9
mov eax, ebx
add eax, esi
mov dword [edi + 0x8068], eax
mov eax, dword [edi + 0x8070]
add eax, esi
mov dword [edi + 0x8078], eax
mov eax, dword [edi + 0x806c]
sub eax, dword [edi + 0x8064]
mov ecx, dword [edi + 0x8080]
push 0x616
push eax
mov eax, dword [edi + 0x8068]
sub eax, dword [edi + 0x8060]
push eax
push 0
push 0
push 0
call fcn.00428c97
fld dword [0x650d1c]
fldz
fucomp st(1)
fnstsw ax
fld qword [0x6226a8]
test ah, 0x44
jp 0x58effb
fstp st(1)
mov eax, 6
fstp st(0)
jmp 0x58f002
fmulp st(1)
call fcn.00549020
mov edx, dword [edi + 0x7e68]
sub edx, dword [edi + 0x7e60]
add eax, ebx
add eax, esi
cmp eax, 0xffffffff
je 0x58f023
mov dword [edi + 0x7e60], eax
mov dword [edi + 0x7e70], eax
mov ecx, dword [edi + 0x7e60]
mov dword [edi + 0x7e78], 0xfffffffe
lea eax, [ecx + edx]
mov dword [edi + 0x7e68], eax
mov eax, dword [edi + 0x7e6c]
sub eax, dword [edi + 0x7e64]
push 0x614
push eax
mov eax, dword [edi + 0x7e68]
sub eax, ecx
push eax
mov eax, dword [edi + 0x7e98]
add eax, dword [edi + 0x7e64]
push eax
mov eax, dword [edi + 0x7e94]
add eax, ecx
mov ecx, dword [edi + 0x7e80]
push eax
push 0
call fcn.00428c97
fld dword [0x650d1c]
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x58f094
fstp st(0)
mov eax, 0x20
jmp 0x58f09f
fmul qword [0x6226e0]
call fcn.00549020
mov esi, dword [esp + 0x1c]
lea ecx, [eax + esi]
cmp ecx, 0xffffffff
je 0x58f0c7
mov eax, dword [edi + 0x7e60]
add eax, ecx
mov dword [edi + 0x7e68], eax
mov eax, dword [edi + 0x7e70]
add eax, ecx
mov dword [edi + 0x7e78], eax
mov eax, dword [edi + 0x7e6c]
sub eax, dword [edi + 0x7e64]
mov ecx, dword [edi + 0x7e80]
push 0x616
push eax
mov eax, dword [edi + 0x7e68]
sub eax, dword [edi + 0x7e60]
push eax
push 0
push 0
push 0
call fcn.00428c97
fld dword [0x650d1c]
fldz
fucom st(1)
fnstsw ax
test ah, 0x44
jp 0x58f10f
mov eax, 6
jmp 0x58f11c
fld st(1)
fmul qword [0x6226a8]
call fcn.00549020
add eax, dword [esp + 0x2c]
fucomp st(1)
add ebx, eax
fnstsw ax
fld qword [0x6226e8]
test ah, 0x44
jp 0x58f13c
fstp st(0)
mov eax, 0x2a
fstp st(0)
jmp 0x58f143
fmulp st(1)
call fcn.00549020
mov edx, dword [edi + 0x80a8]
sub edx, dword [edi + 0x80a0]
add eax, ebx
add eax, esi
cmp eax, 0xffffffff
je 0x58f164
mov dword [edi + 0x80a0], eax
mov dword [edi + 0x80b0], eax
mov ecx, dword [edi + 0x80a0]
mov dword [edi + 0x80b8], 0xfffffffe
lea eax, [edx + ecx]
mov dword [edi + 0x80a8], eax
mov eax, dword [edi + 0x80ac]
sub eax, dword [edi + 0x80a4]
push 0x614
push eax
mov eax, dword [edi + 0x80a8]
sub eax, ecx
push eax
mov eax, dword [edi + 0x80d8]
add eax, dword [edi + 0x80a4]
push eax
mov eax, dword [edi + 0x80d4]
add eax, ecx
mov ecx, dword [edi + 0x80c0]
push eax
push 0
call fcn.00428c97
mov ecx, dword [esp + 0x24]
cmp ecx, 0xffffffff
je 0x58f1e0
mov eax, dword [edi + 0x80a0]
add eax, ecx
mov dword [edi + 0x80a8], eax
mov eax, dword [edi + 0x80b0]
add eax, ecx
mov dword [edi + 0x80b8], eax
mov eax, dword [edi + 0x80ac]
sub eax, dword [edi + 0x80a4]
mov ecx, dword [edi + 0x80c0]
push 0x616
push eax
mov eax, dword [edi + 0x80a8]
sub eax, dword [edi + 0x80a0]
push eax
push 0
push 0
push 0
call fcn.00428c97
fld dword [0x650d1c]
fldz
fucom st(1)
fnstsw ax
test ah, 0x44
jp 0x58f228
mov eax, 0x2a
jmp 0x58f235
fld st(1)
fmul qword [0x6226e8]
call fcn.00549020
add eax, esi
fucomp st(1)
add ebx, eax
fnstsw ax
test ah, 0x44
jp 0x58f24b
fstp st(0)
mov eax, 1
jmp 0x58f250
call fcn.00549020
mov esi, dword [esp + 0x24]
mov edx, dword [edi + 0x7d68]
sub edx, dword [edi + 0x7d60]
add eax, ebx
add eax, esi
cmp eax, 0xffffffff
je 0x58f275
mov dword [edi + 0x7d60], eax
mov dword [edi + 0x7d70], eax
mov ecx, dword [edi + 0x7d60]
mov dword [edi + 0x7d78], 0xfffffffe
lea eax, [ecx + edx]
mov dword [edi + 0x7d68], eax
mov eax, dword [edi + 0x7d6c]
sub eax, dword [edi + 0x7d64]
push 0x614
push eax
mov eax, dword [edi + 0x7d68]
sub eax, ecx
push eax
mov eax, dword [edi + 0x7d98]
add eax, dword [edi + 0x7d64]
push eax
mov eax, dword [edi + 0x7d94]
add eax, ecx
mov ecx, dword [edi + 0x7d80]
push eax
push 0
call fcn.00428c97
fld dword [0x650d1c]
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x58f2e6
fstp st(0)
mov eax, 1
jmp 0x58f2eb
call fcn.00549020
mov edi, dword [esp + 0x30]
add eax, esi
add ebx, eax
mov dword [esp + 0x24], ebx
mov esi, 0x65bdb4
xor ebx, ebx
mov edi, edi
push dword [esi]
mov ecx, edi
call fcn.00585840
cmp ebx, eax
ja 0x58f318
push dword [esi]
mov ecx, edi
call fcn.00585840
mov ebx, eax
add esi, 4
cmp esi, 0x65bdd4
jle 0x58f300
fld dword [0x650d1c]
fldz
fucomp st(1)
fnstsw ax
fld qword [0x622698]
test ah, 0x44
jp 0x58f345
fstp st(1)
mov eax, 2
fstp st(0)
jmp 0x58f34c
fmulp st(1)
call fcn.00549020
mov edi, dword [esp + 0x7c]
add ebx, eax
mov dword [esp + 0x30], ebx
cmp ebx, 0xffffffff
mov ebx, dword [esp + 0x24]
je 0x58f37f
mov eax, dword [edi + 0x7da0]
add eax, dword [esp + 0x30]
mov dword [edi + 0x7da8], eax
mov eax, dword [edi + 0x7db0]
add eax, dword [esp + 0x30]
mov dword [edi + 0x7db8], eax
mov eax, dword [edi + 0x7dac]
sub eax, dword [edi + 0x7da4]
mov ecx, dword [edi + 0x7dc0]
push 0x616
push eax
mov eax, dword [edi + 0x7da8]
sub eax, dword [edi + 0x7da0]
push eax
push 0
push 0
push 0
call fcn.00428c97
fld dword [0x650d1c]
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x58f3c9
fstp st(0)
mov eax, 2
jmp 0x58f3d4
fmul qword [0x622698]
call fcn.00549020
mov ecx, dword [edi + 0x7d68]
sub ecx, dword [edi + 0x7d60]
add ecx, eax
mov eax, dword [edi + 0x7da8]
sub eax, dword [edi + 0x7da0]
add ecx, ebx
cmp ecx, 0xffffffff
je 0x58f401
mov dword [edi + 0x7da0], ecx
mov dword [edi + 0x7db0], ecx
mov ecx, dword [edi + 0x7da0]
add eax, ecx
mov dword [edi + 0x7da8], eax
mov dword [edi + 0x7db8], 0xfffffffe
mov eax, dword [edi + 0x7dac]
sub eax, dword [edi + 0x7da4]
push 0x614
push eax
mov eax, dword [edi + 0x7da8]
sub eax, ecx
push eax
mov eax, dword [edi + 0x7dd8]
add eax, dword [edi + 0x7da4]
push eax
mov eax, dword [edi + 0x7dd4]
add eax, ecx
mov ecx, dword [edi + 0x7dc0]
push eax
push 0
call fcn.00428c97
fld dword [0x650d1c]
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x58f471
fstp st(0)
mov eax, 2
jmp 0x58f47c
fmul qword [0x622698]
call fcn.00549020
mov esi, dword [edi + 0x7da8]
mov ebx, dword [esp + 0x34]
add esi, eax
cmp ebx, 0xffffffff
je 0x58f4a9
mov eax, dword [edi + 0x80e0]
add eax, ebx
mov dword [edi + 0x80e8], eax
mov eax, dword [edi + 0x80f0]
add eax, ebx
mov dword [edi + 0x80f8], eax
mov eax, dword [edi + 0x80ec]
sub eax, dword [edi + 0x80e4]
mov ecx, dword [edi + 0x8100]
push 0x616
push eax
mov eax, dword [edi + 0x80e8]
sub eax, dword [edi + 0x80e0]
push eax
push 0
push 0
push 0
call fcn.00428c97
mov eax, dword [edi + 0x80e8]
sub eax, dword [edi + 0x80e0]
cmp esi, 0xffffffff
je 0x58f4f6
mov dword [edi + 0x80e0], esi
mov dword [edi + 0x80f0], esi
mov ecx, dword [edi + 0x80e0]
add eax, ecx
mov dword [edi + 0x80e8], eax
mov dword [edi + 0x80f8], 0xfffffffe
mov eax, dword [edi + 0x80ec]
sub eax, dword [edi + 0x80e4]
push 0x614
push eax
mov eax, dword [edi + 0x80e8]
sub eax, ecx
push eax
mov eax, dword [edi + 0x8118]
add eax, dword [edi + 0x80e4]
push eax
mov eax, dword [edi + 0x8114]
add eax, ecx
mov ecx, dword [edi + 0x8100]
push eax
push 0
call fcn.00428c97
fld dword [0x650d1c]
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x58f566
fstp st(0)
mov eax, 5
jmp 0x58f571
fmul qword [0x6226a0]
call fcn.00549020
mov edx, dword [edi + 0x7ea8]
sub edx, dword [edi + 0x7ea0]
add eax, esi
add eax, ebx
cmp eax, 0xffffffff
je 0x58f592
mov dword [edi + 0x7ea0], eax
mov dword [edi + 0x7eb0], eax
mov ecx, dword [edi + 0x7ea0]
mov dword [edi + 0x7eb8], 0xfffffffe
lea eax, [edx + ecx]
mov dword [edi + 0x7ea8], eax
mov eax, dword [edi + 0x7eac]
sub eax, dword [edi + 0x7ea4]
push 0x614
push eax
mov eax, dword [edi + 0x7ea8]
sub eax, ecx
push eax
mov eax, dword [edi + 0x7ed8]
add eax, dword [edi + 0x7ea4]
push eax
mov eax, dword [edi + 0x7ed4]
add eax, ecx
mov ecx, dword [edi + 0x7ec0]
push eax
push 0
call fcn.00428c97
fld dword [0x650d1c]
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x58f603
fstp st(0)
mov ecx, 0x1a
jmp 0x58f610
fmul qword [0x6226d0]
call fcn.00549020
mov ecx, eax
add ecx, dword [esp + 0x14]
cmp ecx, 0xffffffff
je 0x58f635
mov eax, dword [edi + 0x7ea0]
add eax, ecx
mov dword [edi + 0x7ea8], eax
mov eax, dword [edi + 0x7eb0]
add eax, ecx
mov dword [edi + 0x7eb8], eax
mov eax, dword [edi + 0x7eac]
sub eax, dword [edi + 0x7ea4]
mov ecx, dword [edi + 0x7ec0]
push 0x616
push eax
mov eax, dword [edi + 0x7ea8]
sub eax, dword [edi + 0x7ea0]
push eax
push 0
push 0
push 0
call fcn.00428c97
mov ebx, dword [esp + 0x10]
cmp ebx, 0xffffffff
je 0x58f68a
mov eax, dword [edi + 0x8120]
add eax, ebx
mov dword [edi + 0x8128], eax
mov eax, dword [edi + 0x8130]
add eax, ebx
mov dword [edi + 0x8138], eax
mov eax, dword [edi + 0x812c]
sub eax, dword [edi + 0x8124]
mov ecx, dword [edi + 0x8140]
push 0x616
push eax
mov eax, dword [edi + 0x8128]
sub eax, dword [edi + 0x8120]
push eax
push 0
push 0
push 0
call fcn.00428c97
fld dword [0x650d1c]
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x58f6d4
fstp st(0)
mov eax, 5
jmp 0x58f6df
fmul qword [0x6226a0]
call fcn.00549020
mov ecx, dword [edi + 0x7f20]
sub ecx, eax
mov eax, dword [edi + 0x8128]
sub eax, dword [edi + 0x8120]
sub ecx, ebx
cmp ecx, 0xffffffff
je 0x58f706
mov dword [edi + 0x8120], ecx
mov dword [edi + 0x8130], ecx
mov ecx, dword [edi + 0x8120]
add eax, ecx
mov dword [edi + 0x8128], eax
mov dword [edi + 0x8138], 0xfffffffe
mov eax, dword [edi + 0x812c]
sub eax, dword [edi + 0x8124]
push 0x614
push eax
mov eax, dword [edi + 0x8128]
sub eax, ecx
push eax
mov eax, dword [edi + 0x8158]
add eax, dword [edi + 0x8124]
push eax
mov eax, dword [edi + 0x8154]
add eax, ecx
mov ecx, dword [edi + 0x8140]
push eax
push 0
call fcn.00428c97
mov edx, dword [edi + 0x8338]
mov eax, dword [edi + 0x7ea8]
mov ebx, dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, edx
sub ecx, dword [edi + 0x8120]
add eax, 0x10
add eax, ecx
mov dword [edi + 0x8340], eax
mov eax, dword [esp + 0xf0]
mov dword [edi + 0x8344], 0x200
cmp eax, 0x320
jg 0x58f907
mov esi, dword [edi + 0x8340]
cmp esi, eax
jle 0x58f900
sub esi, eax
mov eax, dword [edi + 0x7ef8]
sub eax, dword [edi + 0x7ef0]
cmp esi, eax
jle 0x58f7cc
mov esi, dword [edi + 0x7ef8]
sub esi, dword [edi + 0x7ef0]
sub esi, 0x10
test esi, esi
je 0x58f7e8
add dword [edi + 0x8120], esi
add dword [edi + 0x8130], esi
add dword [edi + 0x8128], esi
add dword [edi + 0x8138], esi
mov eax, dword [edi + 0x812c]
sub eax, dword [edi + 0x8124]
mov ecx, dword [edi + 0x8140]
push 0x614
push eax
mov eax, dword [edi + 0x8128]
sub eax, dword [edi + 0x8120]
push eax
mov eax, dword [edi + 0x8158]
add eax, dword [edi + 0x8124]
push eax
mov eax, dword [edi + 0x8154]
add eax, dword [edi + 0x8120]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58f83e
add dword [edi + 0x7ee0], esi
add dword [edi + 0x7ef0], esi
mov eax, dword [edi + 0x7eec]
sub eax, dword [edi + 0x7ee4]
mov ecx, dword [edi + 0x7f00]
push 0x614
push eax
mov eax, dword [edi + 0x7ee8]
sub eax, dword [edi + 0x7ee0]
push eax
mov eax, dword [edi + 0x7f18]
add eax, dword [edi + 0x7ee4]
push eax
mov eax, dword [edi + 0x7f14]
add eax, dword [edi + 0x7ee0]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58f894
add dword [edi + 0x7f20], esi
add dword [edi + 0x7f30], esi
mov eax, dword [edi + 0x7f2c]
sub eax, dword [edi + 0x7f24]
mov ecx, dword [edi + 0x7f40]
push 0x614
push eax
mov eax, dword [edi + 0x7f28]
sub eax, dword [edi + 0x7f20]
push eax
mov eax, dword [edi + 0x7f58]
add eax, dword [edi + 0x7f24]
push eax
mov eax, dword [edi + 0x7f54]
add eax, dword [edi + 0x7f20]
push eax
push 0
call fcn.00428c97
mov edx, dword [edi + 0x8338]
mov eax, dword [edi + 0x7ea8]
mov ecx, edx
sub ecx, dword [edi + 0x8120]
add eax, 0x10
add eax, ecx
mov dword [edi + 0x8340], eax
mov eax, dword [esp + 0xf0]
cmp eax, 0x320
jle 0x58f918
cmp dword [esp + 0xf4], 0x258
jg 0x58faf9
mov esi, dword [edi + 0x7d28]
sub esi, edx
neg esi
je 0x58f930
add dword [edi + 0x7d28], esi
add dword [edi + 0x7d38], esi
mov eax, dword [edi + 0x7d2c]
sub eax, dword [edi + 0x7d24]
mov ecx, dword [edi + 0x7d40]
push 0x614
push eax
mov eax, dword [edi + 0x7d28]
sub eax, dword [edi + 0x7d20]
push eax
mov eax, dword [edi + 0x7d58]
add eax, dword [edi + 0x7d24]
push eax
mov eax, dword [edi + 0x7d54]
add eax, dword [edi + 0x7d20]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58f986
add dword [edi + 0x81e8], esi
add dword [edi + 0x81f8], esi
mov eax, dword [edi + 0x81ec]
sub eax, dword [edi + 0x81e4]
mov ecx, dword [edi + 0x8200]
push 0x614
push eax
mov eax, dword [edi + 0x81e8]
sub eax, dword [edi + 0x81e0]
push eax
mov eax, dword [edi + 0x8218]
add eax, dword [edi + 0x81e4]
push eax
mov eax, dword [edi + 0x8214]
add eax, dword [edi + 0x81e0]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58f9dc
add dword [edi + 0x7ce8], esi
add dword [edi + 0x7cf8], esi
mov eax, dword [edi + 0x7cec]
sub eax, dword [edi + 0x7ce4]
mov ecx, dword [edi + 0x7d00]
push 0x614
push eax
mov eax, dword [edi + 0x7ce8]
sub eax, dword [edi + 0x7ce0]
push eax
mov eax, dword [edi + 0x7d18]
add eax, dword [edi + 0x7ce4]
push eax
mov eax, dword [edi + 0x7d14]
add eax, dword [edi + 0x7ce0]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58fa32
add dword [edi + 0x7de8], esi
add dword [edi + 0x7df8], esi
mov eax, dword [edi + 0x7dec]
sub eax, dword [edi + 0x7de4]
mov ecx, dword [edi + 0x7e00]
push 0x614
push eax
mov eax, dword [edi + 0x7de8]
sub eax, dword [edi + 0x7de0]
push eax
mov eax, dword [edi + 0x7e18]
add eax, dword [edi + 0x7de4]
push eax
mov eax, dword [edi + 0x7e14]
add eax, dword [edi + 0x7de0]
push eax
push 0
call fcn.00428c97
test esi, esi
je 0x58fa88
add dword [edi + 0x7e28], esi
add dword [edi + 0x7e38], esi
mov eax, dword [edi + 0x7e2c]
sub eax, dword [edi + 0x7e24]
mov ecx, dword [edi + 0x7e40]
push 0x614
push eax
mov eax, dword [edi + 0x7e28]
sub eax, dword [edi + 0x7e20]
push eax
mov eax, dword [edi + 0x7e58]
add eax, dword [edi + 0x7e24]
push eax
mov eax, dword [edi + 0x7e54]
add eax, dword [edi + 0x7e20]
push eax
push 0
call fcn.00428c97
mov ecx, dword [edi + 0x8344]
mov edx, dword [edi + 0x8340]
push 0x14
push ecx
push edx
mov eax, 0x258
sub eax, ecx
sar eax, 1
push eax
mov eax, 0x320
sub eax, edx
sar eax, 1
push eax
push 0
push dword [edi + 0x20]
call ebx
fld1
fcomp dword [0x650d1c]
fnstsw ax
test ah, 5
jp 0x58fe41
mov eax, dword [edi + 0x834c]
sub eax, 0x21
cmp eax, 0xffffffff
je 0x58fb26
mov dword [edi + 0x82e4], eax
mov dword [edi + 0x82f4], eax
mov eax, dword [edi + 0x82ec]
sub eax, dword [edi + 0x82e4]
mov ecx, dword [edi + 0x8300]
push 0x614
push eax
mov eax, dword [edi + 0x82e8]
sub eax, dword [edi + 0x82e0]
push eax
mov eax, dword [edi + 0x8318]
add eax, dword [edi + 0x82e4]
push eax
mov eax, dword [edi + 0x8314]
add eax, dword [edi + 0x82e0]
push eax
push 0
call fcn.00428c97
mov eax, dword [edi + 0x834c]
sub eax, 0x21
mov dword [edi + 0x8264], 0x46
mov dword [edi + 0x8274], 0x46
mov dword [edi + 0x8268], 0xe
mov dword [edi + 0x8278], 0xe
cmp eax, 0xffffffff
je 0x58fbae
mov dword [edi + 0x826c], eax
mov dword [edi + 0x827c], eax
mov eax, dword [edi + 0x826c]
sub eax, dword [edi + 0x8264]
mov ecx, dword [edi + 0x8280]
push 0x614
push eax
mov eax, dword [edi + 0x8268]
sub eax, dword [edi + 0x8260]
push eax
mov eax, dword [edi + 0x8298]
add eax, 0x46
push eax
mov eax, dword [edi + 0x8294]
add eax, dword [edi + 0x8260]
push eax
push 0
call fcn.00428c97
mov eax, dword [edi + 0x834c]
sub eax, 0x21
mov dword [edi + 0x7ca0], 0xf
mov dword [edi + 0x7cb0], 0xf
cmp eax, 0xffffffff
je 0x58fc1f
mov dword [edi + 0x7cac], eax
mov dword [edi + 0x7cbc], eax
mov eax, dword [edi + 0x7cac]
sub eax, dword [edi + 0x7ca4]
mov ecx, dword [edi + 0x7cc0]
push 0x614
push eax
mov eax, dword [edi + 0x7ca8]
sub eax, dword [edi + 0x7ca0]
push eax
mov eax, dword [edi + 0x7cd8]
add eax, dword [edi + 0x7ca4]
push eax
mov eax, dword [edi + 0x7cd4]
add eax, 0xf
push eax
push 0
call fcn.00428c97
mov eax, dword [edi + 0x834c]
sub eax, 0x21
cmp eax, 0xffffffff
je 0x58fc7c
mov dword [edi + 0x7e2c], eax
mov dword [edi + 0x7e3c], eax
mov eax, dword [edi + 0x7e2c]
sub eax, dword [edi + 0x7e24]
mov ecx, dword [edi + 0x7e40]
push 0x614
push eax
mov eax, dword [edi + 0x7e28]
sub eax, dword [edi + 0x7e20]
push eax
mov eax, dword [edi + 0x7e58]
add eax, dword [edi + 0x7e24]
push eax
mov eax, dword [edi + 0x7e54]
add eax, dword [edi + 0x7e20]
push eax
push 0
call fcn.00428c97
mov eax, dword [edi + 0x834c]
sub eax, 0x21
cmp eax, 0xffffffff
je 0x58fcdc
mov dword [edi + 0x7fec], eax
mov dword [edi + 0x7ffc], eax
mov eax, dword [edi + 0x7fec]
sub eax, dword [edi + 0x7fe4]
mov ecx, dword [edi + 0x8000]
push 0x614
push eax
mov eax, dword [edi + 0x7fe8]
sub eax, dword [edi + 0x7fe0]
push eax
mov eax, dword [edi + 0x8018]
add eax, dword [edi + 0x7fe4]
push eax
mov eax, dword [edi + 0x8014]
add eax, dword [edi + 0x7fe0]
push eax
push 0
call fcn.00428c97
mov eax, dword [edi + 0x834c]
sub eax, 0x21
cmp eax, 0xffffffff
je 0x58fd3c
mov dword [edi + 0x822c], eax
mov dword [edi + 0x823c], eax
mov eax, dword [edi + 0x822c]
sub eax, dword [edi + 0x8224]
mov ecx, dword [edi + 0x8240]
push 0x614
push eax
mov eax, dword [edi + 0x8228]
sub eax, dword [edi + 0x8220]
push eax
mov eax, dword [edi + 0x8258]
add eax, dword [edi + 0x8224]
push eax
mov eax, dword [edi + 0x8254]
add eax, dword [edi + 0x8220]
push eax
push 0
call fcn.00428c97
mov ecx, dword [edi + 0x8200]
mov dword [edi + 0x81e0], 0xf
mov dword [edi + 0x81f0], 0xf
mov eax, dword [edi + 0x81ec]
sub eax, dword [edi + 0x81e4]
push 0x614
push eax
mov eax, dword [edi + 0x81e8]
sub eax, dword [edi + 0x81e0]
push eax
mov eax, dword [edi + 0x8218]
add eax, dword [edi + 0x81e4]
push eax
mov eax, dword [edi + 0x8214]
add eax, 0xf
push eax
push 0
call fcn.00428c97
mov ecx, dword [edi + 0x82c0]
mov dword [edi + 0x82a0], 0xf
mov dword [edi + 0x82b0], 0xf
mov dword [edi + 0x82a4], 0x46
mov dword [edi + 0x82b4], 0x46
mov eax, dword [edi + 0x82ac]
sub eax, dword [edi + 0x82a4]
push 0x614
push eax
mov eax, dword [edi + 0x82a8]
sub eax, dword [edi + 0x82a0]
push eax
mov eax, dword [edi + 0x82d8]
add eax, 0x46
push eax
mov eax, dword [edi + 0x82d4]
add eax, 0xf
push eax
push 0
call fcn.00428c97
cmp byte [0x65145e], 0
mov ecx, edi
je 0x58fe53
call fcn.0058c350
jmp 0x58fe58
call fcn.0058c3b0
push 0
push 0
push 0
push 0
lea ecx, [edi + 0x1950]
mov dword [edi + 0x35c4], 0
call fcn.0057af40
push 0
push 0
lea ecx, [edi + 0xb4]
mov dword [edi + 0x1520], 0
call fcn.00580ac0
push dword [edi + 0xd4]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov dword [edi + 0x7bd0], 0
mov byte [edi + 0x7bc4], 0
mov dword [edi + 0x7bd8], 0xffffffff
mov dword [edi + 0x7bd4], 0xffffffff
mov al, byte [0x650ce4]
cmp al, 2
je 0x58fef7
test al, al
je 0x58fef7
mov ecx, edi
cmp al, 3
jne 0x58fed9
push 0x65123c
jmp 0x58fede
push 0x651032
call fcn.0058b7e0
mov dword [edi + 0x7bd8], 0
mov dword [edi + 0x7bd4], 0
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [edi + 0x20]
call ebx
push 3
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push dword [edi + 0x20]
call ebx
mov ecx, dword [esp + 0x50c]
mov byte [edi + 0x94], 1
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.00541b41
mov esp, ebp
pop ebp
ret