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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cd1b0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb18
push edi
mov edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [edi + 0x10]
cmp eax, 0x2af8
jb 0x4894b3
push 0x4cec30
push str.Too_many_controls.
mov ecx, 0x4fcc10
call fcn.0044df00
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [edi + 0x14]
push esi
cmp eax, ecx
jb 0x489505
lea eax, [ecx + 0x3e8]
shl eax, 6
push eax
push dword [edi + 0x18]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 8
test eax, eax
jne 0x4894fb
push 0x4cec30
push str.Too_many_controls.
mov ecx, 0x4fcc10
call fcn.0044df00
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
add dword [edi + 0x14], 0x3e8
mov dword [edi + 0x18], eax
mov eax, dword [edi + 0x10]
shl eax, 6
add eax, dword [edi + 0x18]
push 0x40
mov esi, eax
mov dword [ebp - 0x10], eax
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x24c]
push esi
push eax
call fcn.00492550
mov al, byte [ebp + 8]
mov dword [ebp - 0x5c], 0
cmp al, 0x1a
jne 0x48959f
mov ecx, dword [ebp + 0x10]
call fcn.004865f0
mov ecx, eax
mov dword [ebp - 0x5c], ecx
test ecx, ecx
jne 0x489583
mov ecx, dword [ebp + 0x10]
call fcn.004051f0
mov edx, dword [0x4faa78]
xor ecx, ecx
test edx, edx
jle 0x48957c
mov esi, dword [0x4faa74]
mov edi, dword [esi + ecx*4]
mov dword [ebp - 0x5c], edi
cmp dword [edi + 4], eax
mov edi, dword [ebp - 0x18]
je 0x48959a
inc ecx
cmp ecx, edx
jl 0x489566
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x5c], 0
mov al, byte [edi + 0xc1]
mov byte [esi + 6], al
mov al, byte [edi + 0xc2]
mov byte [esi + 7], al
jmp 0x48963a
mov esi, dword [ebp - 0x10]
jmp 0x489583
cmp al, 0x14
jne 0x4895ad
or byte [esi + 5], 0x80
mov byte [ebp + 8], 0x13
jmp 0x4895c8
cmp al, 0x15
jne 0x4895c0
mov byte [ebp + 8], 0x13
mov word [ebp - 0xb7], 0x301
jmp 0x4895c8
cmp al, 0x13
jne 0x489739
cmp byte [edi + 0xc0], 0xff
jne 0x4895f7
push 0x4cec30
push str.Too_many_tab_controls.
mov ecx, 0x4fcc10
call fcn.0044df00
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov byte [esi + 6], 0xff
mov al, byte [edi + 0xc0]
mov byte [esi + 7], al
mov dh, byte [edi + 0xc1]
cmp dh, 0xff
je 0x48963a
mov esi, dword [edi + 0x10]
xor dl, dl
xor eax, eax
test esi, esi
je 0x489637
mov ecx, dword [edi + 0x18]
add ecx, 4
cmp byte [ecx], 0x13
jne 0x48962f
cmp dl, dh
je 0x489720
inc dl
inc eax
add ecx, 0x40
cmp eax, esi
jb 0x489620
mov esi, dword [ebp - 0x10]
cmp dword [edi + 0x10], 0
mov edx, dword [sym.imp.KERNEL32.dll_MulDiv]
jne 0x4896d1
cmp dword [edi + 0x78], 0x80000000
jne 0x48968c
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4fc350]
push 0x60
push dword [0x4fcbf8]
movd xmm0, dword [ecx + eax + 0x84]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x4f1f48]
cvttsd2si eax, xmm0
push eax
call edx
mov edx, dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [edi + 0x78], eax
cmp dword [edi + 0x7c], 0x80000000
jne 0x4896c8
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4fc350]
push 0x60
push dword [0x4fcbf8]
movd xmm0, dword [ecx + eax + 0x84]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x4f1f30]
cvttsd2si eax, xmm0
push eax
call edx
mov dword [edi + 0x7c], eax
mov eax, dword [edi + 0x78]
mov dword [edi + 0x80], eax
mov ah, byte [ebp + 8]
mov byte [esi + 4], ah
mov edx, dword [ebp - 0x24c]
mov al, byte [edi + 0x45]
or edx, 0x10000000
mov byte [ebp - 0xb9], al
mov ecx, edx
mov al, byte [edi + 0x44]
mov dword [ebp - 0x24c], ecx
cmp ah, 6
jne 0x489776
or ecx, 0x4000
mov dword [ebp - 0x24c], ecx
test al, al
jne 0x48979a
mov ecx, edx
or ecx, 0x24000
mov dword [ebp - 0x24c], ecx
jmp 0x48979a
shl eax, 6
add eax, dword [edi + 0x18]
je 0x489637
push eax
mov ecx, edi
call fcn.00498a90
jmp 0x489637
cmp al, 0x19
jne 0x489583
cmp dword [edi + 8], 0
je 0x48976d
push 0x4cec30
push str.Too_many_status_bars.
mov ecx, 0x4fcc10
call fcn.0044df00
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov byte [esi + 6], 0xff
jmp 0x48963a
test al, al
je 0x489786
or ecx, 0x20000
mov dword [ebp - 0x24c], ecx
cmp ah, 2
je 0x4897be
cmp ah, 0x10
je 0x4897be
cmp ah, 0x11
je 0x4897be
cmp ah, 0x12
je 0x4897be
cmp byte [esi + 4], 0xa
mov byte [ebp - 0x57], 1
je 0x4897b0
mov eax, dword [edi + 0x54]
mov dword [esi + 0x10], eax
mov ecx, dword [ebp - 0x24c]
mov eax, dword [edi + 0x54]
mov dword [ebp - 0x1f0], eax
mov ah, byte [ebp + 8]
jmp 0x4897d4
mov byte [ebp - 0x57], 0
cmp ah, 0x12
jne 0x4897d4
mov dword [esi + 0x10], 0xff000000
mov ecx, dword [ebp - 0x24c]
mov edx, dword [sym.imp.USER32.dll_SetWindowLongW]
movzx eax, ah
add eax, 0xfffffffc
mov dword [ebp - 0x70], edx
cmp eax, 0x16
ja case.0x4897ec.6
jmp dword [eax*4 + 0x48da7c]
or ecx, 0x210000
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
or ecx, 0x210042
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
or ecx, 0x210080
or dword [ebp - 0x244], 0x200
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
or dword [ebp - 0x23c], 0x30
or ecx, 0x10008
or dword [ebp - 0x244], 0x200
mov dword [ebp - 0x24c], ecx
mov dword [ebp - 0x238], 1
jmp case.0x4897ec.6
or ecx, 0x10027
or dword [ebp - 0x244], 0x200
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
or ecx, 0x10000
or dword [ebp - 0x244], 0x200
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
or ecx, 0x36
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
or ecx, 0x1000c
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
or ecx, 1
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
movzx eax, byte [ebp - 0xb9]
xor edx, edx
cmp byte [ebp - 0xb7], dl
cmove eax, edx
or ecx, 0x10200
mov byte [ebp - 0xb9], al
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
or ecx, 0x4000000
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
test dword [edi + 0x3c], 0x40000
je 0x489908
or ecx, 0x100
or ecx, 0x800
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
cmp byte [0x4fd8f3], 0
je case.0x4897ec.6
or ecx, 0x10000
mov dword [ebp - 0x24c], ecx
jmp case.0x4897ec.6
mov eax, dword [ebp - 0x5c]
test eax, eax
je case.0x4897ec.6
push dword [edi + 4]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetParent]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x3c]
test eax, eax
jns 0x489957
and eax, 0x3fffffff
or eax, 0x40000000
mov dword [ecx + 0x3c], eax
push eax
push 0xfffffffffffffff0
push dword [ecx + 4]
call dword [ebp - 0x70]
mov eax, dword [ebp - 0x5c]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne case.0x4897ec.6
mov ecx, dword [ebp - 0x5c]
push 0x4cec30
push 0x4cec30
call fcn.00492990
push 0
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x24c]
mov ecx, edi
push eax
push dword [ebp + 0xc]
call fcn.0048ead0
test eax, eax
jne 0x4899ae
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov dl, byte [ebp + 8]
mov eax, dword [ebp - 0x1f0]
cmp dl, 0xa
je 0x4899bf
mov eax, dword [esi + 0x10]
cmp eax, 0xff000000
mov eax, dword [ebp - 0x1ec]
setne byte [ebp - 0xbd]
cmp eax, 0xff000000
jne 0x4899e9
cmp dl, 0xb
je 0x489a0a
mov dword [ebp - 0x1ec], 0xffffffff
jmp 0x489a0a
cmp eax, 0xffffffff
jne 0x489a0a
mov ecx, dword [edi + 0x5c]
cmp ecx, 0xff000000
je 0x489a0a
cmp dl, 0x12
je 0x489a0a
cmp dl, 0x19
cmovne eax, ecx
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x224], 0x80000000
mov edi, dword [ebp - 0x248]
movss xmm1, dword [0x4f1f18]
jne 0x489a81
cmp dword [ebp - 0x220], 0x80000000
jne 0x489a81
movss xmm0, dword [ebp - 0x21c]
comiss xmm0, xmm1
ja 0x489a81
mov eax, dword [ebp + 0x10]
mov esi, eax
test eax, eax
je 0x489a7d
movzx eax, word [eax]
mov ecx, eax
test ax, ax
je 0x489a7d
movzx edx, ax
mov ecx, 0x4ef30c
mov eax, 0xa
nop dword [eax]
cmp dx, ax
je 0x489a81
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x489a60
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x489a50
xor edx, edx
jmp 0x489a8b
mov edx, edi
not edx
and edx, 0x2000
mov eax, dword [ebp - 0x240]
mov ecx, edi
not eax
mov dword [ebp - 0x84], edx
and eax, dword [ebp - 0x244]
not ecx
and ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x4c], eax
or ecx, 0x40000000
movzx eax, byte [ebp + 8]
add eax, 0xfffffffd
mov dword [ebp - 0x14], ecx
cmp eax, 0x10
ja case.0x489ac8.10
movzx eax, byte [eax + 0x48db00]
jmp dword [eax*4 + 0x48dad8]
and ecx, 0xfffffff7
or ecx, 7
jmp 0x489ae4
test cl, 1
je 0x489b30
and ecx, 0xfffffff1
or ecx, 1
or ecx, edx
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
cmp byte [ebp + 8], 4
jne 0x48a934
cmp dword [edx + 0xc], 0
jne 0x48a934
test byte [edx + 5], 1
jne 0x48a934
mov ecx, dword [ecx]
cmp word [ecx], 0x31
jne 0x489c65
cmp word [ecx + 2], 0
jne 0x489c65
xor eax, eax
mov word [ebp - 0xb24], ax
jmp 0x489c80
and ecx, 0xfffffff0
jmp 0x489ae2
mov eax, ecx
and eax, 6
cmp al, 6
jne 0x489b46
and ecx, 0xfffffff6
or ecx, 6
jmp 0x489ae2
and ecx, 0xfffffff3
or ecx, 3
jmp 0x489ae2
and ecx, 0xfffffff9
or ecx, 9
test ecx, 0x20000
je 0x489ae2
test edi, 0x10000
jne 0x489ae2
or ecx, 0x10000
jmp 0x489ae2
or ecx, 3
jmp 0x489ae4
mov edx, dword [ebp - 0x10]
test cl, 1
je 0x489b91
and ecx, 0xfffffff1
or ecx, 1
mov dword [ebp - 0x14], ecx
jmp 0x489aea
and ecx, 0xfffffff2
or ecx, 2
mov dword [ebp - 0x14], ecx
jmp 0x489aea
or ecx, 1
jmp 0x489ae4
movss xmm0, dword [ebp - 0x21c]
comiss xmm0, xmm1
ja 0x489bcf
push 0xa
push dword [ebp + 0x10]
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov edi, dword [ebp - 0x248]
add esp, 8
mov ecx, dword [ebp - 0x14]
test eax, eax
je 0x489bdb
mov eax, edi
not eax
and eax, 4
or ecx, eax
mov dword [ebp - 0x14], ecx
test cl, 4
je case.0x489ac8.10
not edi
and edi, 0x201040
or ecx, edi
jmp 0x489ae4
mov edx, dword [ebp - 0x10]
or ecx, 0x4000000
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x60], 0
je 0x489c0e
test byte [edx + 5], 0x20
je 0x489c17
cmp dword [edx + 0x10], 0xff000000
je 0x489c27
or dword [ebp - 0x14], 0x2000
mov byte [ebp - 0xb9], 0
jmp 0x489c2e
and dword [ebp - 0x14], 0xffffdfff
cmp dword [ebp - 0x224], 0x80000000
mov al, byte [ebp - 0xb6]
je 0x489c48
and al, 0xfe
mov byte [ebp - 0xb6], al
cmp dword [ebp - 0x220], 0x80000000
je 0x489aed
and al, 0xfd
mov byte [ebp - 0xb6], al
jmp 0x489aed
lea edx, [ebp - 0xb24]
sub edx, ecx
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x489c70
push dword [ebp + 0x10]
lea eax, [ebp - 0xb24]
push str.Button_s
push 0x400
push eax
call fcn.004b0660
add esp, 0x10
lea esi, [ebp - 0xb24]
or edi, 0xffffffff
lea ecx, [esi + 2]
mov dword [ebp - 0x24], edi
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x489cb0
sub esi, ecx
mov dword [ebp + 0xc], 0
mov ecx, dword [sym.imp.VCRUNTIME140.dll_wcsstr]
sar esi, 1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x34], 0
cmp word [ebp - 0xb24], ax
je 0x489eaa
cmp esi, 0x1388
jb 0x489e60
lea eax, [ebp - 0xb24]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], eax
push 0x4ef328
push eax
call ecx
add esp, 8
mov dword [ebp - 0x48], eax
test eax, eax
je 0x489db7
mov edx, dword [ebp - 0x28]
dec edi
mov ecx, dword [ebp - 0x20]
inc dword [ebp - 0x38]
mov dword [ebp - 0x24], edi
mov edi, eax
sub edi, edx
sar edi, 1
lea eax, [edi + ecx]
cmp eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
jb 0x489d7d
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0xb24]
sub eax, ecx
or ecx, 0xffffffff
sar eax, 1
push eax
push dword [ebp - 0x44]
push esi
push dword [ebp - 0x24]
call fcn.004b11d0
mov dword [ebp - 0x34], eax
lea ecx, [eax + eax]
push ecx
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 0x18
test eax, eax
je 0x489df8
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
mov dword [ebp + 0xc], eax
jmp 0x489d80
mov eax, dword [ebp + 0xc]
test edi, edi
je 0x489d9b
lea ecx, [eax + ecx*2]
lea eax, [edi + edi]
push eax
push edx
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x44]
add esp, 0xc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x24]
add eax, 2
mov ecx, dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov dword [ebp - 0x28], eax
test edi, edi
jne 0x489d03
jmp 0x489dba
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x38], 0
je 0x489ea4
lea ecx, [ebp - 0xb24]
sub eax, ecx
sar eax, 1
sub esi, eax
mov eax, dword [ebp - 0x20]
je 0x489e35
lea ecx, [esi + eax]
mov dword [ebp - 0x64], ecx
cmp ecx, dword [ebp - 0x34]
jb 0x489e1a
lea eax, [ecx*2 + 2]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 8
test eax, eax
jne 0x489e13
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x489ea4
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call eax
add esp, 4
jmp 0x489ea4
mov edi, eax
mov eax, dword [ebp - 0x20]
jmp 0x489e1d
mov edi, dword [ebp + 0xc]
lea ecx, [edi + eax*2]
lea eax, [esi + esi]
push eax
push dword [ebp - 0x28]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x64]
add esp, 0xc
jmp 0x489e38
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov word [edi + eax*2], cx
lea eax, [eax*2 + 2]
push eax
lea eax, [ebp - 0xb24]
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push edi
call eax
add esp, 0x10
jmp 0x489ea4
lea edi, [ebp - 0xb24]
push 0x4ef328
push edi
call ecx
mov edi, eax
add esp, 8
test edi, edi
je 0x489ea4
lea eax, [ebp - 0xb24]
mov edx, edi
sub edx, eax
mov ecx, esi
sar edx, 1
lea eax, [edi + 2]
sub ecx, edx
add ecx, ecx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [sym.imp.VCRUNTIME140.dll_wcsstr]
add esp, 0xc
dec esi
sub dword [ebp - 0x24], 1
jne 0x489e66
mov ecx, dword [sym.imp.VCRUNTIME140.dll_wcsstr]
or edi, 0xffffffff
lea esi, [ebp - 0xb24]
mov dword [ebp - 0x24], edi
lea edx, [esi + 2]
nop dword [eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x489ec0
sub esi, edx
mov dword [ebp + 0xc], 0
sar esi, 1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x34], 0
cmp word [ebp - 0xb24], ax
je 0x48a0af
cmp esi, 0x1388
jb 0x48a06b
lea eax, [ebp - 0xb24]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], eax
nop dword [eax]
push 0x4edefc
push eax
call ecx
add esp, 8
mov dword [ebp - 0x48], eax
test eax, eax
je 0x489fc4
mov edx, dword [ebp - 0x28]
dec edi
mov ecx, dword [ebp - 0x20]
inc dword [ebp - 0x38]
mov dword [ebp - 0x24], edi
mov edi, eax
sub edi, edx
sar edi, 1
lea eax, [ecx + edi]
cmp eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
jb 0x489f8a
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0xb24]
sub eax, ecx
or ecx, 0xffffffff
sar eax, 1
push eax
push dword [ebp - 0x44]
push esi
push dword [ebp - 0x24]
call fcn.004b11d0
mov dword [ebp - 0x34], eax
lea ecx, [eax + eax]
push ecx
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 0x18
test eax, eax
je 0x48a005
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
mov dword [ebp + 0xc], eax
jmp 0x489f8d
mov eax, dword [ebp + 0xc]
test edi, edi
je 0x489fa8
lea ecx, [eax + ecx*2]
lea eax, [edi + edi]
push eax
push edx
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x44]
add esp, 0xc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x24]
add eax, 2
mov ecx, dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov dword [ebp - 0x28], eax
test edi, edi
jne 0x489f10
jmp 0x489fc7
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x38], 0
je 0x48a0af
lea ecx, [ebp - 0xb24]
sub eax, ecx
sar eax, 1
sub esi, eax
mov eax, dword [ebp - 0x20]
je 0x48a041
lea ecx, [eax + esi]
mov dword [ebp - 0x64], ecx
cmp ecx, dword [ebp - 0x34]
jb 0x48a026
lea eax, [ecx*2 + 2]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 8
test eax, eax
jne 0x48a01f
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x48a0af
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x48a0af
mov edi, eax
mov eax, dword [ebp - 0x20]
jmp 0x48a029
mov edi, dword [ebp + 0xc]
lea ecx, [edi + eax*2]
lea eax, [esi + esi]
push eax
push dword [ebp - 0x28]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x64]
add esp, 0xc
jmp 0x48a044
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov word [edi + eax*2], cx
lea eax, [eax*2 + 2]
push eax
lea eax, [ebp - 0xb24]
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x10
jmp 0x48a0af
lea edi, [ebp - 0xb24]
push 0x4edefc
push edi
call ecx
mov edi, eax
add esp, 8
test edi, edi
je 0x48a0af
lea eax, [ebp - 0xb24]
mov edx, edi
sub edx, eax
mov ecx, esi
sar edx, 1
lea eax, [edi + 2]
sub ecx, edx
add ecx, ecx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [sym.imp.VCRUNTIME140.dll_wcsstr]
add esp, 0xc
dec esi
sub dword [ebp - 0x24], 1
jne 0x48a071
or edi, 0xffffffff
lea esi, [ebp - 0xb24]
mov dword [ebp - 0x24], edi
lea ecx, [esi + 2]
nop
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x48a0c0
sub esi, ecx
mov dword [ebp + 0xc], 0
sar esi, 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x34], 0
cmp word [ebp - 0xb24], ax
je 0x48a2ac
cmp esi, 0x1388
jb 0x48a266
lea eax, [ebp - 0xb24]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], eax
nop dword [eax]
push 0x4ebc9c
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov ecx, dword [ebp - 0x28]
add esp, 8
mov dword [ebp - 0x48], eax
test eax, eax
je 0x48a1c2
mov edx, dword [ebp - 0x20]
dec edi
inc dword [ebp - 0x38]
mov dword [ebp - 0x24], edi
mov edi, eax
sub edi, edx
sar edi, 1
lea eax, [edi + ecx]
cmp eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
jb 0x48a18e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0xb24]
sub eax, ecx
or ecx, 0xffffffff
sar eax, 1
push eax
push dword [ebp - 0x44]
push esi
push dword [ebp - 0x24]
call fcn.004b11d0
mov dword [ebp - 0x34], eax
lea ecx, [eax + eax]
push ecx
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 0x18
test eax, eax
je 0x48a200
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
jmp 0x48a191
mov eax, dword [ebp + 0xc]
test edi, edi
je 0x48a1ac
lea ecx, [eax + ecx*2]
lea eax, [edi + edi]
push eax
push edx
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x24]
add eax, 2
mov dword [ebp - 0x20], eax
test edi, edi
jne 0x48a110
jmp 0x48a1c5
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x38], 0
je 0x48a2ac
lea edx, [ebp - 0xb24]
sub eax, edx
sar eax, 1
sub esi, eax
je 0x48a23c
lea eax, [esi + ecx]
mov dword [ebp - 0x64], eax
cmp eax, dword [ebp - 0x34]
jb 0x48a221
lea eax, [eax*2 + 2]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 8
test eax, eax
jne 0x48a21a
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x48a2ac
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x48a2ac
mov ecx, dword [ebp - 0x28]
mov edi, eax
jmp 0x48a224
mov edi, dword [ebp + 0xc]
lea eax, [esi + esi]
push eax
push dword [ebp - 0x20]
lea ecx, [edi + ecx*2]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x64]
add esp, 0xc
jmp 0x48a23f
mov edi, dword [ebp + 0xc]
xor eax, eax
mov word [edi + ecx*2], ax
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0xb24]
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x10
jmp 0x48a2ac
lea edi, [ebp - 0xb24]
nop dword [eax]
push 0x4ebc9c
push edi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x48a2ac
lea eax, [ebp - 0xb24]
mov edx, edi
sub edx, eax
mov ecx, esi
sar edx, 1
lea eax, [edi + 2]
sub ecx, edx
add ecx, ecx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
dec esi
sub dword [ebp - 0x24], 1
jne 0x48a270
or edi, 0xffffffff
lea esi, [ebp - 0xb24]
mov dword [ebp - 0x24], edi
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x48a2c0
sub esi, ecx
mov dword [ebp + 0xc], 0
sar esi, 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x34], 0
cmp word [ebp - 0xb24], ax
je 0x48a4ac
cmp esi, 0x1388
jb 0x48a466
lea eax, [ebp - 0xb24]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], eax
nop dword [eax]
push 0x4ec0b4
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov ecx, dword [ebp - 0x28]
add esp, 8
mov dword [ebp - 0x48], eax
test eax, eax
je 0x48a3c2
mov edx, dword [ebp - 0x20]
dec edi
inc dword [ebp - 0x38]
mov dword [ebp - 0x24], edi
mov edi, eax
sub edi, edx
sar edi, 1
lea eax, [ecx + edi]
cmp eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
jb 0x48a38e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0xb24]
sub eax, ecx
or ecx, 0xffffffff
sar eax, 1
push eax
push dword [ebp - 0x44]
push esi
push dword [ebp - 0x24]
call fcn.004b11d0
mov dword [ebp - 0x34], eax
lea ecx, [eax + eax]
push ecx
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 0x18
test eax, eax
je 0x48a400
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
jmp 0x48a391
mov eax, dword [ebp + 0xc]
test edi, edi
je 0x48a3ac
lea ecx, [eax + ecx*2]
lea eax, [edi + edi]
push eax
push edx
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x24]
add eax, 2
mov dword [ebp - 0x20], eax
test edi, edi
jne 0x48a310
jmp 0x48a3c5
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x38], 0
je 0x48a4ac
lea edx, [ebp - 0xb24]
sub eax, edx
sar eax, 1
sub esi, eax
je 0x48a43c
lea eax, [ecx + esi]
mov dword [ebp - 0x64], eax
cmp eax, dword [ebp - 0x34]
jb 0x48a421
lea eax, [eax*2 + 2]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 8
test eax, eax
jne 0x48a41a
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x48a4ac
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x48a4ac
mov ecx, dword [ebp - 0x28]
mov edi, eax
jmp 0x48a424
mov edi, dword [ebp + 0xc]
lea eax, [esi + esi]
push eax
push dword [ebp - 0x20]
lea ecx, [edi + ecx*2]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x64]
add esp, 0xc
jmp 0x48a43f
mov edi, dword [ebp + 0xc]
xor eax, eax
mov word [edi + ecx*2], ax
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0xb24]
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x10
jmp 0x48a4ac
lea edi, [ebp - 0xb24]
nop dword [eax]
push 0x4ec0b4
push edi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x48a4ac
lea eax, [ebp - 0xb24]
mov edx, edi
sub edx, eax
mov ecx, esi
sar edx, 1
lea eax, [edi + 2]
sub ecx, edx
add ecx, ecx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
dec esi
sub dword [ebp - 0x24], 1
jne 0x48a470
or edi, 0xffffffff
lea esi, [ebp - 0xb24]
mov dword [ebp - 0x24], edi
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x48a4c0
sub esi, ecx
mov dword [ebp + 0xc], 0
sar esi, 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x34], 0
cmp word [ebp - 0xb24], ax
je 0x48a6ac
cmp esi, 0x1388
jb 0x48a666
lea eax, [ebp - 0xb24]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], eax
nop dword [eax]
push 0x4ef32c
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov ecx, dword [ebp - 0x28]
add esp, 8
mov dword [ebp - 0x48], eax
test eax, eax
je 0x48a5c2
mov edx, dword [ebp - 0x20]
dec edi
inc dword [ebp - 0x38]
mov dword [ebp - 0x24], edi
mov edi, eax
sub edi, edx
sar edi, 1
lea eax, [ecx + edi]
cmp eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
jb 0x48a58e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0xb24]
sub eax, ecx
or ecx, 0xffffffff
sar eax, 1
push eax
push dword [ebp - 0x44]
push esi
push dword [ebp - 0x24]
call fcn.004b11d0
mov dword [ebp - 0x34], eax
lea ecx, [eax + eax]
push ecx
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 0x18
test eax, eax
je 0x48a600
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
jmp 0x48a591
mov eax, dword [ebp + 0xc]
test edi, edi
je 0x48a5ac
lea ecx, [eax + ecx*2]
lea eax, [edi + edi]
push eax
push edx
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x24]
add eax, 2
mov dword [ebp - 0x20], eax
test edi, edi
jne 0x48a510
jmp 0x48a5c5
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x38], 0
je 0x48a6ac
lea edx, [ebp - 0xb24]
sub eax, edx
sar eax, 1
sub esi, eax
je 0x48a63c
lea eax, [ecx + esi]
mov dword [ebp - 0x64], eax
cmp eax, dword [ebp - 0x34]
jb 0x48a621
lea eax, [eax*2 + 2]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 8
test eax, eax
jne 0x48a61a
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x48a6ac
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x48a6ac
mov ecx, dword [ebp - 0x28]
mov edi, eax
jmp 0x48a624
mov edi, dword [ebp + 0xc]
lea eax, [esi + esi]
push eax
push dword [ebp - 0x20]
lea ecx, [edi + ecx*2]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x64]
add esp, 0xc
jmp 0x48a63f
mov edi, dword [ebp + 0xc]
xor eax, eax
mov word [edi + ecx*2], ax
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0xb24]
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x10
jmp 0x48a6ac
lea edi, [ebp - 0xb24]
nop dword [eax]
push 0x4ef32c
push edi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x48a6ac
lea eax, [ebp - 0xb24]
mov edx, edi
sub edx, eax
mov ecx, esi
sar edx, 1
lea eax, [edi + 2]
sub ecx, edx
add ecx, ecx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
dec esi
sub dword [ebp - 0x24], 1
jne 0x48a670
or edi, 0xffffffff
lea esi, [ebp - 0xb24]
mov dword [ebp - 0x24], edi
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x48a6c0
sub esi, ecx
mov dword [ebp + 0xc], 0
sar esi, 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x34], 0
cmp word [ebp - 0xb24], ax
je 0x48a91f
cmp esi, 0x1388
jb 0x48a86a
lea eax, [ebp - 0xb24]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], eax
nop dword [eax]
push 0x4ef330
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov ecx, dword [ebp - 0x28]
add esp, 8
mov dword [ebp - 0x48], eax
test eax, eax
je 0x48a7c2
mov edx, dword [ebp - 0x20]
dec edi
inc dword [ebp - 0x38]
mov dword [ebp - 0x24], edi
mov edi, eax
sub edi, edx
sar edi, 1
lea eax, [edi + ecx]
cmp eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
jb 0x48a78e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0xb24]
sub eax, ecx
or ecx, 0xffffffff
sar eax, 1
push eax
push dword [ebp - 0x44]
push esi
push dword [ebp - 0x24]
call fcn.004b11d0
mov dword [ebp - 0x34], eax
lea ecx, [eax + eax]
push ecx
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 0x18
test eax, eax
je 0x48a804
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
jmp 0x48a791
mov eax, dword [ebp + 0xc]
test edi, edi
je 0x48a7ac
lea ecx, [eax + ecx*2]
lea eax, [edi + edi]
push eax
push edx
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x44]
add esp, 0xc
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x24]
add eax, 2
mov dword [ebp - 0x20], eax
test edi, edi
jne 0x48a710
jmp 0x48a7c5
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x38], 0
je 0x48a8ac
lea edx, [ebp - 0xb24]
sub eax, edx
sar eax, 1
sub esi, eax
je 0x48a840
lea eax, [esi + ecx]
mov dword [ebp - 0x64], eax
cmp eax, dword [ebp - 0x34]
jb 0x48a825
lea eax, [eax*2 + 2]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
add esp, 8
test eax, eax
jne 0x48a81e
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x48a8ac
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x48a8ac
mov ecx, dword [ebp - 0x28]
mov edi, eax
jmp 0x48a828
mov edi, dword [ebp + 0xc]
lea eax, [esi + esi]
push eax
push dword [ebp - 0x20]
lea ecx, [edi + ecx*2]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x64]
add esp, 0xc
jmp 0x48a843
mov edi, dword [ebp + 0xc]
xor eax, eax
mov word [edi + ecx*2], ax
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0xb24]
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x10
jmp 0x48a8ac
lea edi, [ebp - 0xb24]
push 0x4ef330
push edi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x48a8ac
lea eax, [ebp - 0xb24]
mov edx, edi
sub edx, eax
mov ecx, esi
sar edx, 1
lea eax, [edi + 2]
sub ecx, edx
add ecx, ecx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
dec esi
sub dword [ebp - 0x24], 1
jne 0x48a870
cmp word [ebp - 0xb24], 0
je 0x48a91f
mov esi, dword [0x4fd230]
test esi, esi
je 0x48a8ea
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
nop word [eax + eax]
lea eax, [ebp - 0xb24]
push eax
push dword [esi + 4]
call edi
add esp, 8
test eax, eax
je 0x48a913
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x48a8d0
push 0
push 0
lea eax, [ebp - 0xb24]
mov ecx, 0x4fcc10
push eax
call fcn.0043dcb0
mov esi, eax
test esi, esi
je 0x48a91f
cmp dword [esi + 0x14], 4
jg 0x48a91f
mov eax, dword [esi]
push esi
call dword [eax + 4]
jmp 0x48a921
test esi, esi
je 0x48a921
mov eax, dword [esi]
push esi
call dword [eax + 4]
jmp 0x48a921
xor esi, esi
mov edi, dword [ebp - 0x10]
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x48a931
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [edi + 0xc], esi
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0
mov dl, byte [esi + 6]
cmp dl, 0xff
je 0x48a979
mov esi, dword [edi + 0x10]
xor cl, cl
test esi, esi
je 0x48a96f
mov eax, dword [edi + 0x18]
add eax, 4
cmp byte [eax], 0x13
jne 0x48a964
cmp cl, dl
je 0x48a9a3
add cl, 1
inc dword [ebp - 0x54]
add eax, 0x40
cmp dword [ebp - 0x54], esi
jb 0x48a958
mov dword [ebp - 0x54], 0
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x318], 0
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x34], edx
test edx, edx
je 0x48a9b1
mov eax, dword [edi + 0x18]
mov ecx, edx
shl ecx, 6
add eax, 0xffffffc0
add eax, ecx
jmp 0x48a9b7
mov eax, dword [ebp - 0x54]
shl eax, 6
add eax, dword [edi + 0x18]
mov dword [ebp - 0x54], eax
jmp 0x48a976
lea eax, [ebp - 0x324]
cmp dword [ebp - 0x22c], 0x80000000
mov dword [ebp - 0x28], eax
jne 0x48aaa1
cmp dword [ebp - 0x228], 0x80000000
jne 0x48aaa1
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x48aa39
xor ecx, ecx
test edx, edx
je 0x48aa19
mov eax, dword [edi + 0x18]
add eax, 6
mov dl, byte [esi + 7]
cmp byte [eax + 1], dl
mov edx, dword [ebp - 0x34]
jne 0x48aa07
mov dl, byte [esi + 6]
cmp byte [eax], dl
mov edx, dword [ebp - 0x34]
jne 0x48aa07
inc ecx
add eax, 0x40
sub edx, 1
mov dword [ebp - 0x34], edx
jne 0x48a9f1
test ecx, ecx
jne 0x48aa39
mov eax, dword [ebp - 0x54]
push eax
lea eax, [ebp - 0x68]
mov ecx, edi
push eax
call fcn.00498820
mov eax, dword [edi + 0x78]
add eax, dword [ebp - 0x68]
mov dword [ebp - 0x22c], eax
mov eax, dword [edi + 0x7c]
add eax, dword [ebp - 0x64]
jmp 0x48aa54
mov eax, dword [edi + 0x80]
mov dword [ebp - 0x22c], eax
mov eax, dword [edi + 0x8c]
add eax, dword [edi + 0x84]
add eax, dword [edi + 0x7c]
mov dl, byte [ebp + 8]
mov dword [ebp - 0x228], eax
cmp dl, 1
je 0x48aa67
cmp dl, 0x17
jne 0x48aaa4
cmp dword [edi + 0x10], 0
je 0x48aaa4
mov ecx, dword [ebp - 0x28]
mov al, byte [ecx + 4]
cmp al, 1
je 0x48aa7b
cmp al, 0x17
jne 0x48aaa4
mov al, byte [ecx + 6]
cmp al, byte [esi + 6]
jne 0x48aaa4
mov al, byte [ecx + 7]
cmp al, byte [esi + 7]
jne 0x48aaa4
push 0x60
push dword [0x4fcbf8]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [ebp - 0x228], eax
mov dl, byte [ebp + 8]
cmp dl, 0xe
je 0x48aab7
cmp dl, 0xa
je 0x48aab7
cmp dl, 0xb
je 0x48aab7
xor cl, cl
jmp 0x48aab9
mov cl, 1
mov edx, dword [sym.imp.USER32.dll_GetWindowRect]
mov ch, cl
mov esi, dword [sym.imp.GDI32.dll_GetTextMetricsW]
xor ch, 1
cmp dword [ebp - 0x220], 0x80000000
mov byte [ebp + 0xf], cl
mov byte [ebp - 0x19], ch
mov dword [ebp - 0x94], edx
jne 0x48ac93
movss xmm1, dword [0x4f1f08]
comiss xmm1, dword [ebp - 0x21c]
jbe 0x48ac93
movzx eax, byte [ebp + 8]
add eax, 0xfffffffd
cmp eax, 0x17
ja case.0x48ab12.4
movzx eax, byte [eax + 0x48db44]
jmp dword [eax*4 + 0x48db14]
mov edx, dword [ebp - 0x14]
mov eax, edx
and al, 3
mov dword [ebp - 0x21c], 0x40400000
cmp al, 1
je 0x48ab3e
mov eax, edx
and eax, 0x400
neg eax
sbb al, al
and ch, al
mov byte [ebp - 0x19], ch
xor edx, edx
mov dword [ebp - 0x30], edx
jmp 0x48acca
xor edx, edx
mov dword [ebp - 0x21c], 0x40000000
mov dword [ebp - 0x30], edx
jmp 0x48acca
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne case.0x48ab12.4
test byte [ebp - 0x14], 4
je 0x48ab83
xor edx, edx
mov dword [ebp - 0x21c], 0x40400000
mov dword [ebp - 0x30], edx
jmp 0x48acca
mov dword [ebp - 0x21c], 0x3f800000
jmp case.0x48ab12.4
xor edx, edx
mov dword [ebp - 0x21c], 0x3f800000
mov dword [ebp - 0x30], edx
jmp 0x48acca
test byte [ebp - 0x14], 0x40
je 0x48abe1
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4fc350]
mov eax, dword [ecx + eax + 0x84]
add eax, eax
push 0x60
push dword [0x4fcbf8]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov cl, byte [ebp + 0xf]
mov ch, byte [ebp - 0x19]
mov dword [ebp - 0x220], eax
jmp case.0x48ab12.4
mov dword [ebp - 0x21c], 0x40a00000
jmp case.0x48ab12.4
mov edx, dword [ebp - 0x14]
test dl, 2
je 0x48ac0c
xor edx, edx
mov dword [ebp - 0x21c], 0x40a00000
mov dword [ebp - 0x30], edx
jmp 0x48acca
mov eax, dword [ebp - 0x200]
mov ecx, 0x14
cmp eax, 1
cmovl eax, ecx
add eax, 5
test dl, 0x10
jne 0x48abc1
test dl, 8
je 0x48ac2f
add eax, 0x10
jmp 0x48abc1
add eax, 8
jmp 0x48abc1
test byte [ebp - 0x14], 4
je 0x48abac
xor edx, edx
mov dword [ebp - 0x21c], 0x40a00000
mov dword [ebp - 0x30], edx
jmp 0x48acca
xor edx, edx
mov dword [ebp - 0x21c], 0x41200000
mov dword [ebp - 0x30], edx
jmp 0x48acca
mov eax, dword [ebp - 0x5c]
test eax, eax
je case.0x48ab12.4
lea ecx, [ebp - 0x26c]
push ecx
push dword [eax + 4]
call edx
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x268]
mov cl, byte [ebp + 0xf]
mov ch, byte [ebp - 0x19]
mov dword [ebp - 0x220], eax
jmp case.0x48ab12.4
mov al, byte [ebp + 8]
cmp al, 7
je 0x48ac9e
cmp al, 8
jne case.0x48ab12.4
or dword [ebp - 0x14], 0x400
movss xmm0, dword [ebp - 0x21c]
xor edx, edx
comiss xmm0, dword [0x4f1eec]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x60], edx
jbe 0x48ae52
movss xmm1, dword [0x4f1f08]
movzx eax, byte [ebp + 8]
mov dword [ebp - 0x60], edx
sub eax, 3
je 0x48ace0
sub eax, 4
je 0x48ace0
sub eax, 1
jne 0x48acf4
movss xmm0, dword [ebp - 0x21c]
addss xmm0, xmm1
movss dword [ebp - 0x21c], xmm0
test ch, ch
je 0x48ae30
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul edx, dword [edi + 0x50], 0x94
mov ecx, dword [0x4fc350]
mov dword [ebp - 0x30], eax
push dword [edx + ecx + 0x90]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x2a8]
push eax
push dword [ebp - 0x30]
call esi
movss xmm2, dword [ebp - 0x21c]
cvtps2pd xmm0, xmm2
addsd xmm0, qword [0x4f1f28]
cvttsd2si ecx, xmm0
movd xmm0, dword [ebp - 0x2a8]
cvtdq2ps xmm0, xmm0
lea eax, [ecx - 1]
imul eax, dword [ebp - 0x298]
mulss xmm0, xmm2
movd xmm1, eax
movzx eax, byte [ebp + 8]
cvtdq2ps xmm1, xmm1
add eax, 0xfffffffd
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
addsd xmm0, qword [0x4f1f28]
cvttsd2si edx, xmm0
mov dword [ebp - 0x220], edx
cmp eax, 0x15
ja case.0x48ad99.5
movzx eax, byte [eax + 0x48db70]
jmp dword [eax*4 + 0x48db5c]
push 0x60
push dword [0x4fcbf8]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [ebp - 0x220], eax
test dword [ebp - 0x14], 0x100000
je case.0x48ad99.5
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x30]
jmp 0x48ae52
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4fc350]
push 0x60
push dword [0x4fcbf8]
mov eax, dword [ecx + eax + 0x84]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x30]
jmp 0x48ae52
mov eax, dword [edi + 0x7c]
imul eax, ecx
add eax, edx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x220], eax
jmp 0x48ae52
lea eax, [ecx + 1]
imul eax, dword [edi + 0x7c]
add eax, edx
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x30]
jmp 0x48ae52
test cl, cl
jne 0x48ae52
push 0x60
push dword [0x4fcbf8]
push 0x1e
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x220], eax
xor edx, edx
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x220], 0x80000000
mov byte [ebp - 0x55], 0
je 0x48ae72
cmp dword [ebp - 0x224], 0x80000000
jne case.0x48b421.4
xor eax, eax
mov ecx, 0x400
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x34], eax
movzx eax, byte [ebp + 8]
dec eax
mov dword [ebp - 0x3c], ecx
cmp eax, 0x16
ja case.0x48ae97.2
movzx eax, byte [eax + 0x48db94]
jmp dword [eax*4 + 0x48db88]
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je case.0x48ae97.2
test edx, edx
jne 0x48aedd
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul ecx, dword [edi + 0x50], 0x94
mov edx, eax
mov eax, dword [0x4fc350]
mov dword [ebp - 0x30], edx
push dword [ecx + eax + 0x90]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x2a8]
push eax
push edx
call esi
mov esi, dword [ebp - 0x294]
add esi, 4
test dword [ebp - 0x14], 0x200000
mov dword [ebp - 0x2c], esi
je 0x48af09
push 2
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add esi, eax
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp + 0x10]
cmp word [esi], 0
je 0x48af3d
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48af17
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0xa
jne 0x48af3d
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x34], eax
mov ecx, 0x2c40
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x30]
mov esi, ecx
test eax, eax
jne 0x48af7c
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul ecx, dword [edi + 0x50], 0x94
mov edx, eax
mov eax, dword [0x4fc350]
mov dword [ebp - 0x30], edx
push dword [ecx + eax + 0x90]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x30]
mov cl, byte [ebp + 8]
cmp cl, 1
jne 0x48afa5
mov edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
or edi, 0x40
mov dword [ebp - 0x3c], edi
test cl, cl
jns 0x48afe5
mov edi, esi
or edi, 0x840
mov dword [ebp - 0x3c], edi
jmp 0x48afe5
cmp cl, 5
je 0x48afaf
cmp cl, 6
jne 0x48afdf
lea ecx, [ebp - 0x2a8]
push ecx
push eax
mov eax, dword [sym.imp.GDI32.dll_GetTextMetricsW]
call eax
push 0x47
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, dword [ebp - 0x2c]
add eax, dword [ebp - 0x294]
add esi, 2
mov ecx, dword [ebp - 0x14]
add esi, eax
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], esi
jmp 0x48afe8
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x2c]
mov al, byte [ebp + 8]
test ecx, str.uo2u
je 0x48b01d
cmp al, 1
je 0x48affb
cmp al, 0x17
jne 0x48b01d
push 5
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
add esi, esi
push 6
mov dword [ebp - 0x2c], esi
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 0x34], eax
mov al, byte [ebp + 8]
cmp dword [ebp - 0x224], 0x80000000
je 0x48b043
cmp al, 4
je 0x48b035
cmp al, 5
je 0x48b035
cmp al, 6
jne 0x48b03d
test ecx, 0x2000
je 0x48b043
or edi, 0x10
mov dword [ebp - 0x3c], edi
cmp dword [ebp - 0x224], 0x80000000
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0
jne 0x48b06f
mov dword [ebp - 0x254], 0
jmp 0x48b07d
mov eax, dword [ebp - 0x224]
sub eax, esi
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x220]
xor edx, edx
cmp eax, 0x80000000
cmove eax, edx
mov dword [ebp - 0x250], eax
xor eax, eax
cmp byte [ebp + 8], 0x17
mov dword [ebp - 0x44], eax
jne 0x48b27d
test cl, 4
je 0x48b0b0
or edi, 0x800
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp + 0x10]
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48b0c0
sub ecx, edx
mov edx, 2
sar ecx, 1
lea eax, [ecx + 1]
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004cb976
movzx ecx, word [edi]
mov esi, eax
add esp, 4
mov dword [ebp - 0x64], esi
mov dword [ebp + 0xc], esi
mov eax, edi
mov dword [ebp - 0x20], eax
mov edx, ecx
mov edx, esi
test cx, cx
je 0x48b237
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
nop
cmp cx, 0x3c
jne 0x48b20b
movzx esi, word [eax + 2]
test esi, 0xffffff80
jne 0x48b135
push 2
push esi
call edi
add esp, 8
test eax, eax
je 0x48b135
and esi, 0xffffffdf
cmp si, 0x41
jne 0x48b208
mov esi, dword [ebp - 0x20]
add esi, 4
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x20
je 0x48b154
cmp ecx, 9
jne 0x48b159
add esi, 2
jmp 0x48b145
cmp ecx, 0x3e
je 0x48b1cb
movzx eax, word [esi]
test eax, 0xffffff80
jne 0x48b180
push 0x107
push eax
call edi
add esp, 8
test eax, eax
je 0x48b180
add esi, 2
jmp 0x48b162
cmp word [esi], 0x3d
jne 0x48b208
mov eax, 0x22
cmp ax, word [esi + 2]
jne 0x48b208
push eax
lea eax, [esi + 4]
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
je 0x48b208
lea esi, [eax + 2]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x20
je 0x48b1c1
cmp ecx, 9
jne 0x48b1c6
add esi, 2
jmp 0x48b1b2
cmp ecx, 0x3e
jne 0x48b162
add esi, 2
je 0x48b208
mov edx, 0x4ef334
mov ecx, esi
call fcn.004b09f0
mov edx, dword [ebp + 0xc]
mov ecx, eax
test ecx, ecx
je 0x48b20b
cmp esi, ecx
jae 0x48b203
nop dword [eax]
mov ax, word [esi]
add esi, 2
mov word [edx], ax
add edx, 2
cmp esi, ecx
jb 0x48b1f0
mov dword [ebp + 0xc], edx
lea eax, [ecx + 6]
jmp 0x48b21d
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x20]
mov ax, word [eax]
mov word [edx], ax
add edx, 2
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0xc], edx
add eax, 2
mov dword [ebp - 0x20], eax
movzx eax, word [eax]
mov ecx, eax
test ax, ax
mov eax, dword [ebp - 0x20]
jne 0x48b110
mov esi, dword [ebp - 0x64]
xor eax, eax
mov word [edx], ax
cmp edx, esi
jbe 0x48b247
movzx eax, word [edx - 2]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x25c]
cmp word [esi], 0
push ecx
push eax
push 0xffffffffffffffff
mov eax, 0x4ee1b0
cmovne eax, esi
push eax
push dword [ebp - 0x30]
call dword [sym.imp.USER32.dll_DrawTextW]
push esi
mov edi, eax
call fcn.004cb97f
mov ecx, dword [ebp - 0x44]
add esp, 4
jmp 0x48b2c8
mov esi, dword [ebp + 0x10]
lea eax, [ebp - 0x25c]
push edi
push eax
push 0xffffffffffffffff
cmp word [esi], dx
mov eax, 0x4ee1b0
cmovne eax, esi
push eax
push dword [ebp - 0x30]
call dword [sym.imp.USER32.dll_DrawTextW]
cmp word [esi], 0
mov edi, eax
je 0x48b2c6
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48b2b0
sub ecx, edx
sar ecx, 1
movzx ecx, word [esi + ecx*2 - 2]
jmp 0x48b2c8
xor ecx, ecx
mov esi, dword [ebp - 0x254]
movzx eax, byte [ebp + 8]
sub esi, dword [ebp - 0x25c]
sub eax, 1
je 0x48b2f2
sub eax, 3
je 0x48b2e9
sub eax, 8
je 0x48b2f2
jmp 0x48b316
cmp dword [ebp - 0x84], 0
jne 0x48b316
test cx, cx
je 0x48b316
movzx eax, cx
lea ecx, [ebp - 0x6c]
push ecx
push eax
push eax
push dword [ebp - 0x30]
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
test eax, eax
je 0x48b316
mov eax, dword [ebp - 0x64]
test eax, eax
jns 0x48b316
sub esi, eax
mov eax, dword [ebp - 0x220]
mov cl, byte [ebp + 8]
cmp eax, 0x80000000
je 0x48b337
cmp edi, eax
jle 0x48b457
cmp cl, 0xc
je 0x48b457
mov edx, dword [ebp - 0x34]
add edx, edi
mov dword [ebp - 0x220], edx
cmp cl, 0xc
jne 0x48b428
push 0x60
push dword [0x4fcbf8]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [ebp - 0x220], eax
test dword [ebp - 0x14], 0x100000
je 0x48b378
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add dword [ebp - 0x220], eax
mov edi, dword [ebp - 0x18]
mov cl, byte [ebp + 8]
mov eax, dword [ebp - 0x224]
cmp eax, 0x80000000
je 0x48b38f
cmp esi, eax
jle 0x48b3c9
mov eax, dword [ebp - 0x2c]
add eax, esi
mov byte [ebp - 0x55], 1
mov dword [ebp - 0x224], eax
cmp cl, 4
jne 0x48b3c9
push 0x2d
call dword [sym.imp.USER32.dll_GetSystemMetrics]
imul edx, dword [edi + 0x50], 0x94
add eax, eax
mov ecx, dword [0x4fc350]
mov ecx, dword [edx + ecx + 0x84]
add ecx, eax
add dword [ebp - 0x224], ecx
mov esi, dword [sym.imp.GDI32.dll_GetTextMetricsW]
cmp dword [ebp - 0x224], 0x80000000
jne case.0x48b421.4
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4fc350]
push 0x60
push dword [0x4fcbf8]
mov eax, dword [ecx + eax + 0x84]
mov ecx, eax
shl ecx, 4
sub ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
movzx ecx, byte [ebp + 8]
mov edx, eax
add ecx, 0xfffffffd
cmp ecx, 0x17
ja case.0x48b421.4
movzx ecx, byte [ecx + 0x48dbd0]
jmp dword [ecx*4 + 0x48dbac]
mov edi, dword [ebp - 0x18]
cmp cl, 4
jne 0x48b37e
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4fc350]
mov eax, dword [ecx + eax + 0x84]
add eax, 2
add eax, edx
mov dword [ebp - 0x220], eax
jmp 0x48b37b
mov edi, dword [ebp - 0x18]
jmp 0x48b37e
mov dword [ebp - 0x224], edx
jmp case.0x48b421.4
lea eax, [edx + edx]
jmp 0x48b53a
mov ecx, dword [ebp - 0x14]
test cl, 0x40
je 0x48b4de
mov dword [ebp - 0x224], edx
jmp 0x48b543
mov ecx, dword [ebp - 0x14]
test cl, 2
je 0x48b4cb
mov eax, dword [ebp - 0x200]
mov edx, 0x14
cmp eax, 1
cmovl eax, edx
add eax, 5
test cl, 0x10
jne 0x48b4b7
test cl, 8
je 0x48b4b4
add eax, 0x10
jmp 0x48b4b7
add eax, 8
push 0x60
push dword [0x4fcbf8]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp - 0x14]
mov edx, eax
mov dword [ebp - 0x224], edx
jmp 0x48b543
mov ecx, dword [ebp - 0x14]
test cl, 4
je 0x48b4cb
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4fc350]
push 0x60
push dword [0x4fcbf8]
mov eax, dword [ecx + eax + 0x84]
add eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
jmp 0x48b53a
mov eax, dword [edi + 0x78]
lea eax, [edx + eax*2]
jmp 0x48b53a
mov eax, dword [edi + 0x78]
lea eax, [eax + eax*2]
lea eax, [eax + edx*2]
jmp 0x48b53a
mov eax, dword [ebp - 0x5c]
test eax, eax
je case.0x48b421.4
lea ecx, [ebp - 0x26c]
push ecx
push dword [eax + 4]
call dword [ebp - 0x94]
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x14]
cmp byte [ebp + 8], 0xc
jne 0x48b651
test cl, 4
jne 0x48b651
movss xmm0, dword [0x4f1f08]
comiss xmm0, dword [ebp - 0x21c]
jbe 0x48b651
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x48b5a0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul ecx, dword [edi + 0x50], 0x94
mov edx, eax
mov eax, dword [0x4fc350]
mov dword [ebp - 0x30], edx
push dword [ecx + eax + 0x90]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x2a8]
push ecx
push eax
call esi
push 0x60
push dword [0x4fcbf8]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov esi, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x2a8]
sub esi, eax
mov edx, dword [ebp - 0x14]
sub esi, ecx
test edx, 0x100000
je 0x48b5e8
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x2a8]
sub esi, eax
mov edx, dword [ebp - 0x14]
test esi, esi
jle 0x48b647
mov eax, dword [ebp - 0x298]
add eax, ecx
movd xmm1, esi
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
addss xmm1, dword [0x4f1f08]
comiss xmm1, dword [0x4f1f18]
movss dword [ebp - 0x21c], xmm1
jbe 0x48b651
mov ecx, dword [ebp - 0x248]
not ecx
mov eax, ecx
and eax, 4
or edx, eax
mov dword [ebp - 0x14], edx
test dl, 4
je 0x48b651
and ecx, 0x201040
or edx, ecx
mov dword [ebp - 0x14], edx
jmp 0x48b651
mov dword [ebp - 0x21c], 0x3f800000
cmp byte [ebp - 0xb9], 0
mov eax, dword [edi + 0x10]
sete byte [ebp - 0x56]
mov byte [ebp - 0x3e], 0
add eax, 3
mov byte [ebp - 0x3d], 0
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 4]
push eax
mov dword [ebp - 0x2c], eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x48b68f
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsIconic]
mov byte [ebp + 0xf], 1
test eax, eax
je 0x48b693
mov byte [ebp + 0xf], 0
mov eax, dword [ebp - 0x10]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [sym.imp.USER32.dll_GetWindowLongW]
mov byte [ebp - 0x4d], 0
cmp byte [eax + 6], 0xff
mov eax, dword [sym.imp.USER32.dll_MapWindowPoints]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], edi
jae 0x48b748
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x48b741
push str.ahk_dlg
push dword [eax]
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x48b70e
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x228]
push 1
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 0x68]
push ecx
push eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
push dword [eax + 4]
call dword [ebp - 0x38]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x54]
push 0xfffffffffffffff0
push dword [eax]
call esi
test eax, 0x10000000
je 0x48b741
mov eax, dword [ebp - 0x54]
push 0
push 0
push 0x130b
push dword [eax]
call edi
mov edx, dword [ebp - 0x10]
movzx ecx, byte [edx + 7]
cmp eax, ecx
jne 0x48b741
mov al, byte [ebp + 0xf]
mov byte [ebp - 0x4d], al
jmp 0x48b748
and dword [ebp - 0x14], 0xefffffff
mov edx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx eax, byte [ebp + 8]
mov ecx, dword [sym.imp.USER32.dll_MoveWindow]
dec eax
mov dword [ebp - 0x48], edx
mov edx, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x20], ecx
mov ecx, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x34], edx
mov edx, dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x64], edx
cmp eax, 0x19
ja case.0x48b783.20
jmp dword [eax*4 + 0x48dbe8]
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48b79e
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48b7a0
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48b7b1
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48b7b3
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push dword [ebp + 0x10]
push str.static
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, dword [ebp - 0x10]
mov dword [edi], eax
jmp 0x48d490
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48b811
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48b813
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48b824
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48b826
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push dword [ebp + 0x10]
push str.SysLink
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, dword [ebp - 0x10]
mov dword [edi], eax
jmp 0x48d490
mov eax, dword [ebp - 0x224]
xor ecx, ecx
mov edx, dword [ebp - 0x220]
cmp eax, 0x80000000
cmove eax, ecx
cmp edx, 0x80000000
mov dword [ebp - 0x224], eax
cmove edx, ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x220], edx
mov esi, dword [ecx + 0xcc]
test esi, esi
je 0x48b8af
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x48b8b1
xor esi, esi
mov ecx, dword [ecx + 0xd0]
test ecx, ecx
je 0x48b8c2
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48b8c4
xor ecx, ecx
push 0
push dword [0x4faae0]
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push edx
push eax
mov eax, dword [ebp - 0x228]
sub eax, esi
mov esi, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push esi
push str.static
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
test eax, eax
je 0x48d487
push dword [ebp - 0x1dc]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push esi
push edx
call fcn.00492840
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
test eax, eax
je 0x48d490
mov byte [ebp - 0x3e], 1
jmp 0x48d490
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48b94c
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48b94e
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48b95f
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48b961
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push dword [ebp + 0x10]
push str.button
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, dword [ebp - 0x10]
mov dword [edi], eax
jmp 0x48d490
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0xcc]
test eax, eax
je 0x48b9bf
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48b9c1
xor edx, edx
mov ecx, dword [ecx + 0xd0]
test ecx, ecx
je 0x48b9d2
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48b9d4
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push dword [ebp + 0x10]
push str.button
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
test eax, eax
je 0x48d48b
test byte [ebp - 0x14], 1
je 0x48d48b
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [eax + 0x10]
jae 0x48ba63
mov eax, dword [eax + 0x18]
push 1
shl ecx, 6
push 0xfffffffffffffff0
push dword [ecx + eax]
call esi
mov esi, dword [ebp - 0x18]
and eax, 0xfffe
push eax
push 0xf4
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
shl ecx, 6
push dword [ecx + eax]
call edi
jmp 0x48ba65
mov esi, eax
mov eax, dword [esi + 0x10]
push 0
mov dword [esi + 0x1c], eax
add eax, 3
push eax
push 0x401
push dword [esi + 4]
call edi
mov eax, dword [ebp - 0x14]
push 1
movzx eax, ax
push eax
mov eax, dword [ebp - 0x10]
push 0xf4
push dword [eax]
call edi
mov edi, dword [ebp - 0x10]
jmp 0x48d490
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48baac
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48baae
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48babf
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48bac1
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push dword [ebp + 0x10]
push str.button
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
test eax, eax
je 0x48ba90
mov ecx, dword [ebp - 0x1e0]
test ecx, ecx
je 0x48ba90
push 0
push ecx
push 0xf1
push eax
call edi
mov edi, dword [ebp - 0x10]
jmp 0x48d490
cmp dword [ebp - 0x1e8], 0
je 0x48bb41
mov eax, dword [ebp - 0x10]
cmp byte [eax + 4], 8
jne 0x48bb41
and dword [ebp - 0x14], 0xffffffbf
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48bb55
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48bb57
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48bb68
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48bb6a
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push 0x4cec30
push str.Combobox
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
test eax, eax
je 0x48bcaa
imul edx, dword [esi + 0x50], 0x94
movzx ecx, byte [ebp + 0xf]
push ecx
mov ecx, dword [0x4fc350]
push dword [edx + ecx + 0x90]
push 0x30
push eax
call edi
cmp byte [ebp - 0x19], 0
je 0x48bca2
mov eax, dword [ebp - 0x10]
push 0
push 0
push 0x154
push dword [eax]
call edi
mov ecx, dword [ebp - 0x14]
mov edi, eax
xor eax, eax
and cl, 3
cmp cl, 1
push 0x60
push dword [0x4fcbf8]
sete al
push 8
lea eax, [eax*2 + 2]
mov dword [ebp - 0x84], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov esi, dword [ebp - 0x84]
add eax, esi
mov ecx, dword [ebp - 0x220]
lea eax, [eax + edi*2]
cmp ecx, eax
jge 0x48bc68
mov ecx, eax
mov dword [ebp - 0x220], ecx
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
push 1
push ecx
push dword [ebp - 0x224]
push dword [ebp - 0x228]
push dword [ebp - 0x22c]
push dword [edi]
call dword [ebp - 0x20]
mov al, 1
mov byte [ebp - 0x3e], al
mov byte [ebp - 0x3d], al
jmp 0x48d490
movss xmm0, dword [ebp - 0x21c]
comiss xmm0, dword [0x4f1eec]
jbe 0x48bc3b
push 0x60
push dword [0x4fcbf8]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x21c]
cvttss2si ecx, xmm0
add ecx, eax
add ecx, esi
jmp 0x48bc35
mov ecx, dword [ebp - 0x220]
jmp 0x48bc3e
mov al, byte [ebp - 0x3e]
mov edi, ecx
mov byte [ebp - 0x3d], al
jmp 0x48d490
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48bccb
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48bccd
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48bcde
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48bce0
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push 0x4cec30
push str.Listbox
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
test eax, eax
je 0x48be42
mov ecx, dword [ebp - 0x110]
test ecx, ecx
je 0x48bd4c
lea edx, [ebp - 0x1d8]
push edx
push ecx
push 0x192
push eax
call edi
mov edx, dword [ebp - 0x10]
imul ecx, dword [esi + 0x50], 0x94
movzx eax, byte [ebp + 0xf]
push eax
mov eax, dword [0x4fc350]
push dword [ecx + eax + 0x90]
push 0x30
push dword [edx]
call edi
mov eax, dword [ebp - 0x10]
push 0
push 0
push 0x1a1
push dword [eax]
call edi
push 0x60
push dword [0x4fcbf8]
mov edi, eax
push 8
mov dword [ebp - 0x84], edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
lea esi, [edi + eax]
mov edi, dword [ebp - 0x14]
and edi, 0x100000
je 0x48bdaa
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add esi, eax
mov ecx, dword [ebp - 0x220]
cmp ecx, esi
jge 0x48bdbb
mov ecx, esi
jmp 0x48be0f
movss xmm0, dword [ebp - 0x21c]
comiss xmm0, dword [0x4f1eec]
jbe 0x48be15
push 0x60
push dword [0x4fcbf8]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
movd xmm0, dword [ebp - 0x84]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x21c]
cvttss2si ecx, xmm0
add ecx, eax
mov dword [ebp - 0x220], ecx
test edi, edi
je 0x48be15
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x220]
add ecx, eax
mov dword [ebp - 0x220], ecx
mov edi, dword [ebp - 0x10]
push 1
push ecx
push dword [ebp - 0x224]
push dword [ebp - 0x228]
push dword [ebp - 0x22c]
push dword [edi]
call dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
mov al, 1
mov byte [ebp - 0x3e], al
mov byte [ebp - 0x3d], al
jmp 0x48d490
mov al, byte [ebp - 0x3e]
mov edi, edx
mov byte [ebp - 0x3d], al
jmp 0x48d490
mov eax, dword [ebp - 0x238]
cmp eax, 4
je 0x48be65
mov ecx, dword [ebp - 0x14]
and ecx, 0xfffffffc
or ecx, eax
mov dword [ebp - 0x14], ecx
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48be79
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48be7b
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48be8c
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48be8e
xor ecx, ecx
mov eax, dword [ebp - 0x220]
cmp eax, 0x80000000
push 0
push dword [0x4faae0]
mov dword [ebp - 0x84], 0xc8
push dword [ebp - 0x3c]
cmove eax, dword [ebp - 0x84]
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x224]
mov eax, dword [ebp - 0x228]
sub eax, edx
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push 0x4cec30
push str.SysListView32
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
test eax, eax
je 0x48ba90
push 0x3f8
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [ebp - 0x10]
add esp, 4
mov dword [ecx + 0x10], eax
test eax, eax
jne 0x48bf21
mov edi, ecx
push dword [edi]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [edi], 0
jmp 0x48d490
mov dword [esi + 0x48], ecx
mov esi, ecx
push 0x3f8
push 0
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 0x10]
add esp, 0xc
mov dword [eax], 0xffffffff
mov ecx, dword [esi + 0x10]
mov al, byte [ebp - 0xb8]
mov byte [ecx + 5], al
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x48bf58
or byte [eax + 5], 0x80
cmp dword [ebp - 0x238], 4
jne 0x48bf6e
push 0
push 4
push 0x108e
push dword [esi]
call edi
mov eax, dword [ebp - 0x23c]
test eax, eax
je 0x48bf84
push eax
push 0
push 0x1036
push dword [esi]
call edi
cmp dword [ebp - 0x1e8], 0
je 0x48bfc0
push 0
push 0
push 0x1004
push dword [esi]
call edi
test eax, eax
jle 0x48bfb1
push 0
push dword [ebp - 0x1e8]
push 0x102f
push dword [esi]
call edi
jmp 0x48bfc0
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0x1e8]
mov dword [ecx + 0x3f4], eax
cmp byte [ebp - 0xbd], 0
jne 0x48bfda
mov esi, dword [ebp - 0x1ec]
cmp esi, 0xffffffff
je 0x48c032
jmp 0x48bff6
push dword [ebp - 0x1f0]
push 0
push 0x1024
push dword [esi]
call edi
mov esi, dword [ebp - 0x1ec]
cmp esi, 0xffffffff
je 0x48c026
cmp esi, 0xff000000
jne 0x48c008
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
mov esi, eax
mov eax, dword [ebp - 0x10]
push esi
push 0
push 0x1026
push dword [eax]
call edi
mov eax, dword [ebp - 0x10]
push esi
push 0
push 0x1001
push dword [eax]
call edi
mov eax, dword [ebp - 0x10]
push 1
push 0
push dword [eax]
call dword [ebp - 0x64]
cmp dword [ebp - 0x220], 0x80000000
mov esi, dword [ebp - 0x18]
jne 0x48ba90
imul ecx, dword [esi + 0x50], 0x94
movzx eax, byte [ebp + 0xf]
push eax
mov eax, dword [0x4fc350]
push dword [ecx + eax + 0x90]
mov eax, dword [ebp - 0x10]
push 0x30
push dword [eax]
call edi
mov eax, dword [ebp - 0x238]
mov byte [ebp - 0x3d], 1
sub eax, 1
je 0x48c1be
sub eax, 3
je 0x48c190
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x48c0b7
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul ecx, dword [esi + 0x50], 0x94
mov edx, eax
mov eax, dword [0x4fc350]
mov dword [ebp - 0x30], edx
push dword [ecx + eax + 0x90]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x2a8]
push ecx
push eax
mov eax, dword [sym.imp.GDI32.dll_GetTextMetricsW]
call eax
cmp dword [ebp - 0x238], 0
jne 0x48c152
mov eax, dword [ebp - 0x10]
push 0
push 0
push 0x1033
push dword [eax]
call edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4f20e0]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [ebp - 0x21c]
subss xmm0, dword [0x4f1f08]
mulss xmm0, xmm1
call fcn.004cc8a0
mov esi, eax
push 0xc
shr esi, 0x10
call dword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm1, esi
mov esi, dword [ebp - 0x18]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [ebp - 0x2a8]
cvtdq2ps xmm0, xmm0
add eax, 0x10
mulss xmm0, dword [ebp - 0x21c]
addss xmm0, xmm1
cvttss2si ecx, xmm0
add eax, ecx
jmp 0x48c1e1
push 0x32
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x2a8]
cmp eax, ecx
movss xmm0, dword [ebp - 0x21c]
cmovg ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
subss xmm0, dword [0x4f1f08]
addss xmm1, xmm0
cvttss2si eax, xmm1
add eax, 0xb
jmp 0x48c1e1
mov eax, dword [ebp - 0x10]
push 0
push 0
push 0x1033
push dword [eax]
call edi
shr eax, 0x10
sub eax, 3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x21c]
cvttss2si eax, xmm0
add eax, 7
jmp 0x48c1e1
movss xmm0, dword [ebp - 0x21c]
push 0xffffffffffffffff
call fcn.004cc8a0
dec eax
push eax
mov eax, dword [ebp - 0x10]
push 0x1040
push dword [eax]
call edi
shr eax, 0x10
add eax, 4
mov edi, dword [ebp - 0x10]
push 1
push eax
push dword [ebp - 0x224]
mov dword [ebp - 0x220], eax
push dword [ebp - 0x228]
push dword [ebp - 0x22c]
push dword [edi]
call dword [ebp - 0x20]
jmp 0x48d490
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48c21d
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48c21f
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48c230
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48c232
xor ecx, ecx
mov eax, dword [ebp - 0x220]
cmp eax, 0x80000000
push 0
push dword [0x4faae0]
mov dword [ebp - 0x84], 0xc8
push dword [ebp - 0x3c]
cmove eax, dword [ebp - 0x84]
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x224]
mov eax, dword [ebp - 0x228]
sub eax, edx
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push 0x4cec30
push str.SysTreeView32
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
test eax, eax
je 0x48c4ca
cmp dword [ebp - 0x1e0], 0
mov dword [esi + 0x4c], edx
je 0x48c2b7
mov eax, dword [ebp - 0x14]
or eax, 0x100
push eax
push 0xfffffffffffffff0
push dword [edx]
call dword [ebp - 0x70]
mov edx, dword [ebp - 0x10]
cmp byte [ebp - 0xbd], 0
je 0x48c2ce
push dword [edx + 0x10]
push 0
push 0x111e
push dword [edx]
call edi
mov eax, dword [ebp - 0x1ec]
cmp eax, 0xffffffff
je 0x48c2f7
cmp eax, 0xff000000
jne 0x48c2e8
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
mov eax, dword [ebp - 0x10]
push 0
push 0x111d
push dword [eax]
call edi
mov eax, dword [ebp - 0x234]
test eax, eax
je 0x48c310
push eax
mov eax, dword [ebp - 0x10]
push 0
push 0x1109
push dword [eax]
call edi
cmp dword [ebp - 0x220], 0x80000000
jne 0x48ba90
imul ecx, dword [esi + 0x50], 0x94
movzx eax, byte [ebp + 0xf]
push eax
mov eax, dword [0x4fc350]
push dword [ecx + eax + 0x90]
mov eax, dword [ebp - 0x10]
push 0x30
push dword [eax]
call edi
mov eax, dword [ebp - 0x10]
push 0
push 0
push 0x111c
push dword [eax]
mov byte [ebp - 0x3d], 1
call edi
mov dword [ebp - 0x220], eax
cmp eax, 2
jge 0x48c375
imul ecx, dword [esi + 0x50], 0x94
mov eax, dword [0x4fc350]
mov eax, dword [ecx + eax + 0x84]
add eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x21c]
cvttss2si eax, xmm0
jmp 0x48c1de
mov ecx, dword [ebp - 0x14]
test cl, 4
jne 0x48c3b8
cmp dword [ebp - 0x1e8], 0
jge 0x48c3a6
and ecx, 0xffefff7f
jmp 0x48c3b5
mov eax, dword [ebp - 0x248]
not eax
and eax, 0x80
or ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je 0x48c3cd
test cl, 4
je 0x48c3cd
mov ecx, eax
call fcn.004b1340
mov ecx, dword [ebp - 0x18]
mov esi, eax
mov eax, dword [ecx + 0xcc]
test eax, eax
je 0x48c3e3
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48c3e5
xor edx, edx
mov ecx, dword [ecx + 0xd0]
test ecx, ecx
je 0x48c3f6
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48c3f8
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
test esi, esi
push eax
push dword [ebp - 0x14]
mov eax, dword [ebp + 0x10]
cmovne eax, esi
push eax
push str.edit
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, eax
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
test edx, edx
je 0x48c4ac
test byte [ebp - 0x14], 0x20
je 0x48c46d
mov cx, word [ebp - 0xc0]
test cx, cx
je 0x48c46d
push 0
movzx eax, cx
push eax
push 0xcc
push edx
call edi
mov eax, dword [ebp - 0x1e8]
xor ecx, ecx
test eax, eax
push ecx
cmovs eax, ecx
push eax
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x10]
push 0xc5
push dword [eax]
call edi
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x48c4ac
lea ecx, [ebp - 0x1d8]
push ecx
push eax
mov eax, dword [ebp - 0x10]
push 0xcb
push dword [eax]
call edi
test esi, esi
je 0x48c4c7
cmp esi, dword [ebp + 0x10]
je 0x48c4c7
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov edi, dword [ebp - 0x10]
jmp 0x48d48d
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x10]
jmp 0x48d490
mov eax, dword [ebp + 0x10]
mov byte [ebp - 0x19], 0
cmp word [eax], 0
je 0x48c527
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
push str.LongDate
push eax
call esi
add esp, 8
test eax, eax
jne 0x48c502
mov eax, dword [ebp - 0x14]
and eax, 0xfffffff6
or eax, 4
mov dword [ebp - 0x14], eax
jmp 0x48c52a
push str.Time
push dword [ebp + 0x10]
call esi
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x14]
jne 0x48c521
and eax, 0xfffffffb
or eax, 9
mov dword [ebp - 0x14], eax
jmp 0x48c52a
mov byte [ebp - 0x19], 1
jmp 0x48c52a
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x218], 2
jne 0x48c539
or eax, 2
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48c54d
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48c54f
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48c560
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48c562
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push 0x4cec30
push str.SysDateTimePick32
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
test eax, eax
je 0x48c629
cmp byte [ebp - 0x19], 0
je 0x48c5c7
push dword [ebp + 0x10]
push 0
push 0x1032
push eax
call edi
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x48c5e2
lea ecx, [ebp - 0xec]
push ecx
push eax
push 0x1004
push dword [edx]
call edi
mov ecx, dword [ebp - 0x218]
test ecx, ecx
je 0x48c608
lea eax, [ebp - 0x10c]
push eax
xor eax, eax
cmp ecx, 1
setne al
push eax
mov eax, dword [ebp - 0x10]
push 0x1002
push dword [eax]
call edi
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x10]
cmp eax, 0xff000000
je 0x48c629
push eax
push 1
push 0x1006
push dword [edx]
call edi
mov edi, dword [ebp - 0x10]
jmp 0x48d490
mov edi, edx
jmp 0x48d490
cmp dword [ebp - 0xcc], 0
jne 0x48c65e
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je 0x48c65e
lea edx, [ebp - 0x10c]
mov ecx, eax
call fcn.004b0020
mov dword [ebp - 0xcc], eax
cmp eax, 3
jne 0x48c65e
or dword [ebp - 0x14], 2
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48c672
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48c674
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48c685
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48c687
xor ecx, ecx
mov eax, dword [ebp - 0x220]
cmp eax, 0x80000000
push 0
push dword [0x4faae0]
mov dword [ebp - 0x84], 0x64
push dword [ebp - 0x3c]
cmove eax, dword [ebp - 0x84]
push dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x224]
test eax, eax
cmovs eax, dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x228]
sub eax, edx
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push 0x4cec30
push str.SysMonthCal32
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
test eax, eax
je 0x48c629
mov esi, dword [ebp - 0x14]
and esi, 2
je 0x48c711
push 0
push 0x16e
push 0x1004
push eax
call edi
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x48c72c
lea ecx, [ebp - 0xec]
push ecx
push eax
push 0x1012
push dword [edx]
call edi
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x48c772
test esi, esi
je 0x48c75d
cmp eax, 1
jne 0x48c74d
movups xmm0, xmmword [ebp - 0x10c]
movups xmmword [ebp - 0xfc], xmm0
lea eax, [ebp - 0x10c]
push eax
push 0
push 0x1006
jmp 0x48c76b
lea eax, [ebp - 0x10c]
push eax
push 0
push 0x1002
mov eax, dword [ebp - 0x10]
push dword [eax]
call edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x10]
cmp eax, 0xff000000
je 0x48c78b
push eax
push 1
push 0x100a
push dword [ecx]
call edi
mov esi, dword [ebp - 0x18]
movzx eax, byte [ebp + 0xf]
push eax
mov eax, dword [0x4fc350]
imul ecx, dword [esi + 0x50], 0x94
push dword [ecx + eax + 0x90]
mov eax, dword [ebp - 0x10]
push 0x30
push dword [eax]
call edi
cmp dword [ebp - 0x224], 0x80000000
mov byte [ebp - 0x3d], 1
je 0x48c7cf
cmp dword [ebp - 0x220], 0x80000000
jne 0x48ba90
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x10]
push 0
push 0x1009
push dword [eax]
call edi
test eax, eax
je 0x48ba90
mov ecx, dword [ebp - 0x224]
test ecx, ecx
jns 0x48c83a
test byte [ebp - 0x14], 0x10
je 0x48c7fe
mov eax, dword [ebp - 0x78]
jmp 0x48c81b
mov eax, dword [ebp - 0x10]
push 0
push 0
push 0x1015
push dword [eax]
call edi
cmp eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x224]
cmovl eax, dword [ebp - 0x78]
cmp ecx, 0x80000000
jne 0x48c827
mov ecx, eax
jmp 0x48c834
add eax, 6
imul eax, ecx
mov ecx, 0xfffffffa
sub ecx, eax
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x220]
cmp edx, 0x80000000
jne 0x48c91e
movss xmm0, dword [ebp - 0x21c]
comiss xmm0, dword [0x4f1eec]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x220], edx
jbe 0x48c91e
ucomiss xmm0, dword [0x4f1f08]
lahf
test ah, 0x44
jnp 0x48c91e
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x48c8b0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul ecx, dword [esi + 0x50], 0x94
mov edx, eax
mov eax, dword [0x4fc350]
mov dword [ebp - 0x30], edx
push dword [ecx + eax + 0x90]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x2a8]
push ecx
push eax
mov eax, dword [sym.imp.GDI32.dll_GetTextMetricsW]
call eax
test byte [ebp - 0x14], 0x10
mov ecx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x220]
je 0x48c8d6
add eax, 4
add eax, ecx
movss xmm2, dword [ebp - 0x21c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
subss xmm2, dword [0x4f1f08]
cvttss2si eax, xmm0
movd xmm1, eax
lea eax, [ecx - 2]
mov ecx, dword [ebp - 0x224]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm2
subss xmm1, xmm0
cvttss2si edx, xmm1
mov dword [ebp - 0x220], edx
mov edi, dword [ebp - 0x10]
push 1
push edx
push ecx
push dword [ebp - 0x228]
push dword [ebp - 0x22c]
push dword [edi]
call dword [ebp - 0x20]
jmp 0x48d490
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48c94f
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48c951
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48c962
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48c964
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push 0x4cec30
push str.msctls_hotkey32
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
test eax, eax
je 0x48c629
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je 0x48c9d8
push 0
mov ecx, eax
call fcn.00497db0
movzx eax, ax
push eax
mov eax, dword [ebp - 0x10]
push 0x401
push dword [eax]
call edi
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1e8]
test eax, eax
jle 0x48ba90
push 6
push eax
push 0x403
push dword [edx]
call edi
mov edi, dword [ebp - 0x10]
jmp 0x48d490
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
test al, 0x10
je 0x48ca23
cmp dword [esi + 8], 0
jne 0x48ca17
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x48ca23
cmp byte [ecx + 5], 0
jge 0x48ca23
and eax, 0xffffffef
mov byte [ebp - 0x19], 1
mov dword [ebp - 0x14], eax
jmp 0x48ca27
mov byte [ebp - 0x19], 0
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48ca38
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48ca3a
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48ca4b
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48ca4d
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push 0x4cec30
push str.msctls_updown32
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
test eax, eax
je 0x48c629
mov cl, byte [ebp - 0x19]
test cl, cl
je 0x48cab8
mov ecx, dword [ebp - 0x28]
push 0
push dword [ecx]
push 0x469
push eax
call edi
mov cl, byte [ebp - 0x19]
mov edx, dword [ebp - 0x10]
cmp dword [esi + 0x10], 0
je 0x48cc54
test byte [ebp - 0x14], 0x10
jne 0x48cad0
test cl, cl
je 0x48cc54
lea eax, [ebp - 0x80]
push eax
push dword [edx]
call dword [ebp - 0x94]
push 2
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x2c]
push 0
call dword [ebp - 0x38]
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
sub eax, ecx
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x74]
sub eax, edx
mov dword [ebp - 0x22c], ecx
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x228], edx
push dword [eax]
call dword [ebp - 0x94]
push 2
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0x2c]
push 0
call dword [ebp - 0x38]
cmp byte [esi + 0xc7], 0
je 0x48cbad
test byte [ebp - 0x14], 4
je 0x48cb77
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x22c]
add dword [ebp - 0x78], eax
add ecx, eax
push 1
push dword [ebp - 0x220]
mov dword [ebp - 0x22c], ecx
push eax
push dword [ebp - 0x228]
mov eax, dword [ebp - 0x10]
push ecx
push dword [eax]
call dword [ebp - 0x20]
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x8c]
sub eax, ecx
add edx, dword [ebp - 0x224]
push 1
push eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x88], edx
sub edx, eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x28]
push dword [eax]
call dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
test cl, 4
je 0x48cbcb
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x22c], ecx
sub eax, ecx
mov ecx, dword [ebp - 0x14]
jmp 0x48cbd4
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x80]
cmp byte [ebp - 0xbe], 0
mov dword [ebp - 0x224], eax
jne 0x48cc12
mov eax, dword [ebp - 0x28]
cmp byte [eax + 4], 9
jne 0x48cc5d
mov byte [ebp - 0xbe], 1
test cl, 0x40
je 0x48cc08
mov dword [ebp - 0x210], 0x7fff
jmp 0x48cc22
mov dword [ebp - 0x214], 0x7fff
cmp dword [ebp - 0x210], 0x7fff
jg 0x48cc70
cmp dword [ebp - 0x214], 0xffff8001
jl 0x48cc70
mov edx, dword [ebp - 0x10]
and byte [edx + 5], 0x7f
movzx ecx, word [ebp - 0x214]
movzx eax, word [ebp - 0x210]
shl ecx, 0x10
or ecx, eax
push ecx
push 0
push 0x465
push dword [edx]
jmp 0x48cc8a
cmp byte [ebp - 0xbe], 0
jne 0x48cc12
mov byte [ebp - 0xbe], 1
mov dword [ebp - 0x210], 0x64
jmp 0x48cc22
mov ecx, dword [ebp - 0x10]
or byte [ecx + 5], 0x80
push dword [ebp - 0x210]
push dword [ebp - 0x214]
push 0x46f
push dword [ecx]
call edi
mov ecx, dword [ebp + 0x10]
call fcn.00419ea0
mov ecx, dword [ebp - 0x10]
push eax
push 0
movsx eax, byte [ecx + 5]
sar eax, 0x1f
and eax, 0xa
add eax, 0x467
push eax
push dword [ecx]
call edi
mov edi, dword [ebp - 0x10]
jmp 0x48d490
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48ccca
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48cccc
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48ccdd
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48ccdf
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push 0x4cec30
push str.msctls_trackbar32
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
test eax, eax
je 0x48c629
mov cl, byte [ebp - 0xbe]
test cl, cl
je 0x48cd65
push dword [ebp - 0x214]
push 0
push 0x407
push eax
call edi
push dword [ebp - 0x210]
mov eax, dword [ebp - 0x10]
push 1
push 0x408
push dword [eax]
call edi
mov cl, byte [ebp - 0xbe]
mov edx, dword [ebp - 0x10]
cmp byte [ebp - 0xbc], 0
je 0x48cdbe
mov eax, dword [ebp - 0x20c]
test eax, eax
jns 0x48cd89
push 0
push 1
push 0x409
push dword [edx]
jmp 0x48cdbc
cmp byte [ebp - 0xbb], 0
je 0x48cd9e
push 0
push eax
push 0x414
push dword [edx]
jmp 0x48cdbc
test cl, cl
jne 0x48cdbe
push 0
push 0
push 0x402
push dword [edx]
call edi
push eax
mov eax, dword [ebp - 0x10]
push 1
push 0x408
push dword [eax]
call edi
mov eax, dword [ebp - 0x208]
test eax, eax
jle 0x48cdd7
push eax
mov eax, dword [ebp - 0x10]
push 0
push 0x417
push dword [eax]
call edi
mov eax, dword [ebp - 0x204]
test eax, eax
jle 0x48cdf0
push eax
mov eax, dword [ebp - 0x10]
push 0
push 0x415
push dword [eax]
call edi
mov eax, dword [ebp - 0x200]
test eax, eax
jle 0x48ce09
push 0
push eax
mov eax, dword [ebp - 0x10]
push 0x41b
push dword [eax]
call edi
mov eax, dword [ebp - 0x1fc]
test eax, eax
je 0x48ce23
push 0
dec eax
push eax
mov eax, dword [ebp - 0x10]
push 0x41f
push dword [eax]
call edi
mov eax, dword [ebp - 0x1f8]
test eax, eax
je 0x48ce3d
push dword [eax]
mov eax, dword [ebp - 0x10]
push 1
push 0x420
push dword [eax]
call edi
mov eax, dword [ebp - 0x1f4]
test eax, eax
je 0x48ce57
push dword [eax]
mov eax, dword [ebp - 0x10]
push 0
push 0x420
push dword [eax]
call edi
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je 0x48ba90
mov ecx, eax
call fcn.00419ea0
mov edi, eax
mov eax, dword [ebp - 0x10]
cmp byte [eax + 5], 0
jge 0x48ce9f
push 0
push 0
push 0x402
push dword [eax]
call dword [ebp - 0x24]
push 0
mov esi, eax
mov eax, dword [ebp - 0x10]
push 0
push 0x401
sub esi, edi
push dword [eax]
call dword [ebp - 0x24]
lea edi, [esi + eax]
mov esi, dword [ebp - 0x18]
push edi
mov edi, dword [ebp - 0x10]
push 1
push 0x405
push dword [edi]
call dword [ebp - 0x24]
jmp 0x48d490
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48cec8
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48ceca
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48cedb
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48cedd
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push 0x4cec30
push str.msctls_progress32
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x10]
mov edi, eax
mov dword [edx], edi
test edi, edi
je 0x48c629
cmp dword [edx + 0x10], 0xff000000
jne 0x48cf50
mov ecx, dword [ebp - 0x1ec]
cmp ecx, 0xff000000
je 0x48cf4a
cmp ecx, 0xffffffff
jne 0x48cf50
test byte [ebp - 0x14], 1
je 0x48cf7f
push str.uxtheme
call dword [ebp - 0x44]
mov esi, eax
test esi, esi
je 0x48cf7c
push str.SetWindowTheme
push esi
call dword [ebp - 0x48]
test eax, eax
je 0x48cf78
push 0x4cec30
push 0x4cec30
push edi
call eax
push esi
call dword [ebp - 0x34]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x210]
test eax, eax
jne 0x48cfd1
test ecx, ecx
jne 0x48cfdd
mov esi, dword [ebp - 0x24]
cmp byte [ebp - 0xbd], 0
mov edi, dword [ebp - 0x10]
je 0x48cfb0
push dword [edi + 0x10]
push 0
push 0x409
push dword [edi]
call esi
mov ecx, dword [ebp - 0x1ec]
cmp ecx, 0xff000000
je 0x48d01c
cmp ecx, 0xffffffff
je 0x48d047
push ecx
jmp 0x48d03c
cmp eax, 0xffffffff
jle 0x48d009
cmp eax, 0x10000
jge 0x48d009
cmp ecx, 0xffff
ja 0x48d009
movzx ecx, word [ebp - 0x210]
movzx eax, word [ebp - 0x214]
mov esi, dword [ebp - 0x24]
shl ecx, 0x10
or ecx, eax
push ecx
push 0
push 0x401
push dword [edx]
call esi
jmp 0x48cf96
mov esi, dword [ebp - 0x24]
push ecx
push eax
push 0x406
push dword [edx]
call esi
jmp 0x48cf96
push edi
mov edi, dword [ebp - 0x18]
mov ecx, edi
call fcn.00498190
test al, al
je 0x48d035
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
jmp 0x48d038
mov eax, dword [edi + 0x58]
mov edi, dword [ebp - 0x10]
push eax
push 0
push 0x2001
push dword [edi]
call esi
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je 0x48d063
push 0
mov ecx, eax
call fcn.00419ea0
push eax
push 0x402
push dword [edi]
call esi
mov byte [ebp - 0x56], 0
jmp 0x48d48d
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48d080
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48d082
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48d093
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48d095
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push 0x4cec30
push str.SysTabControl32
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x10]
mov dword [edx], eax
test eax, eax
je 0x48c629
cmp byte [ebp - 0xb7], 0
je 0x48d1d9
push 0
push 0x498dc0
push dword [esi + 4]
lea eax, [ebp - 0x2c4]
xorps xmm0, xmm0
push eax
push dword [0x4faae0]
movups xmmword [ebp - 0x2c4], xmm0
mov dword [ebp - 0x2c4], 0x50000400
movq qword [ebp - 0x2b4], xmm0
call dword [sym.imp.USER32.dll_CreateDialogIndirectParamW]
mov edi, dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, eax
test esi, esi
je 0x48d14e
mov eax, dword [ebp - 0x10]
push esi
push str.ahk_dlg
push dword [eax]
call dword [sym.imp.USER32.dll_SetPropW]
test eax, eax
jne 0x48d163
push esi
call edi
mov eax, dword [ebp - 0x10]
push dword [eax]
call edi
mov edi, dword [ebp - 0x10]
mov dword [edi], 0
jmp 0x48d48d
xor edx, edx
cmp byte [ebp - 0xb9], dl
je 0x48d196
push str.uxtheme
call dword [ebp - 0x44]
mov edi, eax
test edi, edi
je 0x48d191
push str.EnableThemeDialogTexture
push edi
call dword [ebp - 0x48]
test eax, eax
je 0x48d18d
push 6
push esi
call eax
push edi
call dword [ebp - 0x34]
mov edx, 2
mov eax, dword [ebp - 0x10]
mov ecx, edx
mov edi, dword [ebp - 0x70]
or ecx, 1
test byte [eax + 5], 0x20
cmove ecx, edx
push ecx
push 0xffffffffffffffeb
push esi
call edi
mov esi, dword [ebp - 0x18]
push 0xffffffffffffffec
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov dword [esi + 0x40], eax
test eax, 0x10000
jne 0x48d1d6
or eax, 0x10000
push eax
push 0xffffffffffffffec
push dword [esi + 4]
mov dword [esi + 0x40], eax
call edi
mov edx, dword [ebp - 0x10]
mov al, byte [ebp - 0xb6]
test al, al
je 0x48d1f4
movsx eax, al
push eax
push str.ahk_autosize
push dword [edx]
call dword [sym.imp.USER32.dll_SetPropW]
mov al, byte [esi + 0xc0]
mov edi, dword [ebp - 0x10]
mov byte [esi + 0xc1], al
inc al
push 0x497770
push 0xfffffffffffffffc
mov byte [esi + 0xc2], 0
mov byte [esi + 0xc0], al
push dword [edi]
call dword [ebp - 0x70]
mov dword [0x4fb578], eax
jmp 0x48d490
cmp byte [0x4fec00], 0
jne 0x48d266
push 0x4eeed8
call ecx
mov esi, eax
test esi, esi
je 0x48d266
push str.AtlAxWinInit
push esi
call dword [ebp - 0x48]
test eax, eax
je 0x48d259
call eax
test eax, eax
setne al
mov byte [0x4fec00], al
jmp 0x48d25e
mov al, byte [0x4fec00]
test al, al
jne 0x48d266
push esi
call dword [ebp - 0x34]
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x48d27a
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48d27c
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48d28d
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48d28f
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
push dword [ebp + 0x10]
push str.AtlAxWin
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, dword [ebp - 0x10]
mov dword [edi], eax
test eax, eax
je 0x48d490
mov ecx, eax
call fcn.00481ba0
mov ecx, eax
test ecx, ecx
jne 0x48d2fc
push dword [edi]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [edi], 0
jmp 0x48d490
mov eax, dword [edi + 8]
push ecx
test eax, eax
je 0x48d310
mov ecx, eax
call fcn.004b4fc0
jmp 0x48d490
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x48d490
mov si, word [ebp - 0xb4]
test si, si
jne 0x48d330
mov eax, str.A_window_class_is_required.
jmp 0x48d4bd
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0xcc]
test eax, eax
je 0x48d344
mov edx, dword [eax + 0x14]
test edx, edx
jne 0x48d346
xor edx, edx
mov ecx, dword [ecx + 0xd0]
test ecx, ecx
je 0x48d357
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48d359
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 0
push dword [0x4faae0]
sub eax, edx
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
push dword [ebp - 0x220]
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [ebp - 0x14]
movzx eax, si
push dword [ebp + 0x10]
push eax
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, dword [ebp - 0x10]
mov dword [edi], eax
jmp 0x48d48d
push dword [ebp - 0x3c]
mov esi, dword [ebp - 0x18]
push dword [esi + 4]
push dword [ebp + 0x10]
push dword [ebp - 0x14]
call dword [sym.imp.COMCTL32.dll_CreateStatusWindowW]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
test eax, eax
je 0x48d3e5
mov ecx, dword [ebp - 0x1ec]
mov dword [esi + 8], eax
cmp ecx, 0xffffffff
je 0x48ba90
push ecx
push 0
push 0x2001
push eax
call edi
mov edi, dword [ebp - 0x10]
jmp 0x48d490
mov edi, ecx
jmp 0x48d490
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x10]
test ecx, ecx
je 0x48d48d
mov eax, dword [ecx + 4]
mov dword [edi], eax
cmp dword [ecx + 0xa8], 0
jne 0x48d414
mov eax, dword [ebp - 0x224]
mov dword [ecx + 0xa8], eax
cmp dword [ecx + 0xac], 0
jne 0x48d429
mov eax, dword [ebp - 0x220]
mov dword [ecx + 0xac], eax
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + 0x10]
add eax, 3
push eax
push 0xfffffffffffffff4
push dword [edi]
call dword [ebp - 0x70]
mov edx, dword [esi + 0xcc]
test edx, edx
je 0x48d44b
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x48d44d
xor edx, edx
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x48d45e
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x48d460
xor ecx, ecx
mov eax, dword [ebp - 0x228]
push 1
push dword [ebp - 0x220]
sub eax, edx
push dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x22c]
sub eax, ecx
push eax
push dword [edi]
call dword [ebp - 0x20]
jmp 0x48d490
mov edi, edx
jmp 0x48d48d
mov edi, ecx
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x48d4b3
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x48d4a9
push ecx
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x30]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp dword [edi], 0
jne 0x48d4d2
mov eax, str.Cant_create_control.
push 0x4cec30
push eax
mov ecx, 0x4fcc10
call fcn.0044df00
jmp 0x48da69
mov al, byte [ebp - 0x55]
inc dword [esi + 0x10]
mov byte [esi + 0xc7], al
mov esi, dword [ebp - 0x230]
mov eax, dword [ebp - 0x98]
test esi, esi
jne 0x48d4f6
test eax, eax
je 0x48d5bc
mov edi, dword [ebp - 0x18]
mov ecx, dword [edi + 0xd4]
test ecx, ecx
je 0x48d585
mov esi, dword [ebp - 0x10]
lea edx, [ebp - 0x25c]
mov dword [ebp - 0x88], edx
lea edx, [ebp - 0x26c]
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x25c], eax
mov eax, dword [esi]
cdq
mov dword [ebp - 0x268], edx
lea edx, [ebp - 0x88]
push 2
push edx
push 1
lea edx, [ebp - 0x2e4]
mov dword [ebp - 0x254], 0
push edx
mov dword [ebp - 0x258], 0xffffffff
lea edx, [ebp - 0x2bc]
mov dword [ebp - 0x264], 1
mov dword [ebp - 0x26c], eax
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x1c]
push dword [ebp - 0x98]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x48d5c2
push 0x10
lea eax, [ebp - 0x2d0]
mov dword [ebp - 0x2d4], 0x780030
push eax
mov eax, dword [ebp - 0x10]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultow]
add esp, 0xc
lea eax, [ebp - 0x2d4]
mov ecx, esi
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004b4bf0
jmp 0x48d5bf
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x10]
cmp byte [esi + 4], 6
jne 0x48d5e4
mov ecx, dword [ebp - 0x1e0]
test ecx, ecx
je 0x48d5e0
mov eax, dword [edi + 0x10]
push ecx
dec eax
mov ecx, edi
push eax
push esi
call fcn.00497f30
mov al, 1
jmp 0x48d5e6
xor al, al
mov edx, 0x44
mov ecx, edi
mov byte [edx + ecx], al
test dword [ebp - 0x248], 0x10000000
je 0x48d600
or byte [esi + 5], 8
test dword [ebp - 0x24c], 0x8000000
je 0x48d610
or byte [esi + 5], 0x10
cmp byte [ebp - 0x56], 0
jne 0x48d63c
cmp dword [esi + 0x10], 0xff000000
je 0x48d630
mov al, byte [esi + 4]
cmp al, 5
je 0x48d63c
cmp al, 6
je 0x48d63c
cmp al, 3
je 0x48d63c
jmp 0x48d670
cmp byte [esi + 4], 3
jne 0x48d670
test byte [esi + 5], 0x40
je 0x48d670
mov edi, dword [esi]
push str.uxtheme
call dword [ebp - 0x44]
mov esi, eax
test esi, esi
je 0x48d66a
push str.SetWindowTheme
push esi
call dword [ebp - 0x48]
test eax, eax
je 0x48d666
push 0x4cec30
push 0x4cec30
push edi
call eax
push esi
call dword [ebp - 0x34]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
cmp byte [ebp - 0x3d], 0
jne 0x48d69f
cmp byte [ebp - 0x57], 0
je 0x48d69f
imul ecx, dword [edi + 0x50], 0x94
movzx eax, byte [ebp + 0xf]
push eax
mov eax, dword [0x4fc350]
push dword [ecx + eax + 0x90]
push 0x30
push dword [esi]
mov esi, dword [ebp - 0x24]
call esi
jmp 0x48d6a2
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0xc4], 4
jne 0x48d6b8
mov eax, dword [ebp - 0x10]
push 0
push 0
push 0xb
push dword [eax]
call esi
push ecx
push dword [ebp - 0x218]
mov ecx, edi
push dword [ebp + 0x10]
push dword [ebp - 0x10]
call fcn.004925c0
mov eax, dword [ebp - 0x10]
cmp byte [eax + 4], 0x13
jne 0x48d786
movss xmm0, dword [ebp - 0x21c]
comiss xmm0, dword [0x4f1eec]
jbe 0x48d771
lea ecx, [ebp - 0x80]
push ecx
push dword [eax]
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp - 0x14]
mov eax, ecx
and al, 0x82
cmp al, 2
jne 0x48d734
mov eax, dword [ebp - 0x10]
and ecx, 0xfffffffd
push ecx
push 0xfffffffffffffff0
push dword [eax]
call dword [ebp - 0x70]
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x10]
push 1
push 0x1328
push dword [eax]
call esi
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
push 0xfffffffffffffff0
push dword [eax]
call dword [ebp - 0x70]
jmp 0x48d746
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x10]
push 1
push 0x1328
push dword [eax]
call esi
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x7c]
push 1
push eax
push dword [ebp - 0x224]
mov dword [ebp - 0x220], eax
push dword [ebp - 0x228]
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x22c]
push dword [eax]
call dword [ebp - 0x20]
jmp 0x48d783
cmp byte [ebp - 0xb7], 0
je 0x48d786
push dword [eax]
mov ecx, edi
call fcn.00498d60
mov eax, dword [ebp - 0x10]
cmp byte [ebp - 0x3e], 0
je 0x48d7e5
lea ecx, [ebp - 0x80]
push ecx
push dword [eax]
call dword [ebp - 0x94]
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x7c]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0x80]
cmp byte [ebp + 8], 9
mov dword [ebp - 0x224], eax
jne 0x48d7e5
test dword [ebp - 0x14], 0x100000
je 0x48d7e5
mov ecx, dword [ebp - 0x1e4]
test ecx, ecx
jns 0x48d7d6
lea ecx, [eax + eax*2]
mov dword [ebp - 0x1e4], ecx
mov eax, dword [ebp - 0x10]
push 0
push ecx
push 0x194
push dword [eax]
call esi
mov ecx, dword [ebp - 0x54]
mov esi, dword [sym.imp.USER32.dll_SetWindowPos]
test ecx, ecx
je 0x48d84d
mov eax, dword [ebp - 0x2c]
cmp eax, dword [edi + 4]
jne 0x48d84d
cmp byte [ebp - 0x4d], 0
je 0x48d834
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x10]
push dword [eax]
call dword [ebp - 0x94]
push 2
lea eax, [ebp - 0x80]
push eax
push dword [edi + 4]
push 0
call dword [ebp - 0x38]
push 0
lea eax, [ebp - 0x80]
push eax
push dword [edi + 4]
call dword [ebp - 0x64]
mov ecx, dword [ebp - 0x54]
cmp byte [ecx + 5], 0
jge 0x48d84d
mov eax, dword [ebp - 0x10]
push 0x13
push 0
push 0
push 0
push 0
push dword [eax]
push dword [ecx]
call esi
mov eax, dword [edi + 8]
test eax, eax
je 0x48d863
push 0x13
push 0
push 0
push 0
push 0
push 1
push eax
call esi
cmp byte [ebp + 8], 0x19
je 0x48da64
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x2c]
cmp edx, ecx
je 0x48d8a8
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x228]
push 1
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x68]
push eax
push ecx
push edx
call dword [ebp - 0x38]
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x228], edi
jmp 0x48d8b4
mov edi, dword [ebp - 0x228]
mov esi, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x220]
mov dword [edx + 0x8c], ecx
add ecx, edi
mov dword [edx + 0x88], eax
mov dword [edx + 0x80], esi
mov dword [edx + 0x84], edi
lea edx, [esi + eax]
mov eax, dword [ebp - 0x18]
mov dword [ebp + 8], ecx
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + 4]
mov ecx, dword [ebp + 8]
jne 0x48d916
cmp byte [ebp - 0xb6], 0
jne 0x48d916
cmp edx, dword [eax + 0x90]
jle 0x48d908
mov dword [eax + 0x90], edx
cmp ecx, dword [eax + 0x94]
jle 0x48d916
mov dword [eax + 0x94], ecx
cmp byte [ebp - 0xba], 0
jne 0x48d956
mov eax, dword [eax + 0x10]
cmp eax, 1
je 0x48d953
cmp eax, 2
jne 0x48d938
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x18]
cmp byte [eax + 4], 0x19
je 0x48d953
mov edi, dword [ebp - 0x18]
cmp edx, dword [edi + 0xa0]
jle 0x48d949
mov dword [edi + 0xa0], edx
cmp ecx, dword [edi + 0xa4]
jle 0x48d971
jmp 0x48d96b
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x9c], edi
mov edi, dword [ebp - 0x18]
mov dword [eax + 0x98], esi
mov dword [edi + 0xa0], edx
mov dword [edi + 0xa4], ecx
test dword [edi + 0x3c], 0x100000
mov esi, dword [sym.imp.USER32.dll_SetScrollInfo]
je 0x48d9a5
mov ecx, dword [edi + 0xd0]
test ecx, ecx
je 0x48d9a5
mov eax, dword [edi + 0x90]
add eax, dword [edi + 0x78]
push 1
mov dword [ecx + 0xc], eax
push dword [edi + 0xd0]
push 0
push dword [edi + 4]
call esi
test dword [edi + 0x3c], 0x200000
je 0x48d9d3
mov ecx, dword [edi + 0xcc]
test ecx, ecx
je 0x48d9d3
mov eax, dword [edi + 0x94]
add eax, dword [edi + 0x7c]
push 1
mov dword [ecx + 0xc], eax
push dword [edi + 0xcc]
push 1
push dword [edi + 4]
call esi
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0xb0]
movss dword [ecx + 0x24], xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [ecx + 0x28], xmm0
movss xmm0, dword [ebp - 0xa8]
movss dword [ecx + 0x2c], xmm0
movss xmm0, dword [ebp - 0xa4]
movss dword [ecx + 0x30], xmm0
mov al, byte [ebp - 0xa0]
mov byte [ecx + 0x34], al
mov al, byte [ebp - 0x9f]
mov byte [ecx + 0x35], al
mov al, byte [ebp - 0x9e]
mov byte [ecx + 0x36], al
mov al, byte [ebp - 0x9d]
mov byte [ecx + 0x37], al
mov al, byte [ebp - 0x9c]
mov byte [ecx + 0x38], al
mov al, byte [ebp - 0x9b]
mov byte [ecx + 0x39], al
mov eax, dword [ebp - 0x22c]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x228]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x224]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x220]
mov dword [ecx + 0x20], eax
mov eax, 1
mov ecx, dword [ebp - 0xc]
pop esi
pop edi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc