Function at 0x420020
Capabilities:
Hide graphical window
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x451887
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb8
mov eax, dword [0x45c050]
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x28], eax
xor ebp, ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0xd0], ebp
lea eax, [esp + 0x14]
push ebp
push eax
mov byte [esp + 0xd8], 1
call fcn.00429980
add esp, 8
push str.xmlcommon.xml
lea ecx, [esp + 0x14]
push eax
push ecx
mov byte [esp + 0xdc], 2
call fcn.004261b0
mov eax, dword [esp + 0x14]
mov ecx, dword [0x45c054]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4200b4
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4200b4
mov eax, dword [esp + 0x14]
add eax, 0xfffffff4
push eax
call fcn.004447ea
add esp, 4
mov ecx, dword [esp + 0x10]
push 0xffffffffffffffff
push ecx
call fcn.00408b10
mov ebx, eax
mov dword [esp + 0x20], ebx
add esp, 4
mov byte [esp + 0xd4], 5
mov dword [esp + 0x20], esp
mov esi, esp
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
push eax
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
lea ecx, [esp + 0x40]
mov dword [esi], eax
call fcn.00435f70
mov word [esp + 0x2c], bp
mov word [esp + 0x68], bp
mov word [esp + 0x50], bp
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x14]
push edx
push str._config_activateskin
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0xdc], 0xa
call fcn.004363c0
lea ecx, [esp + 0x2c]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.rootpath
call fcn.0040a630
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd8], 0xa
call fcn.00402d00
push eax
lea ecx, [esp + 0x48]
call fcn.004361a0
mov eax, dword [esp + 0x14]
mov byte [esp + 0xd0], 9
cmp eax, ebp
je 0x42016b
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0x14], ebp
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x14]
push eax
push str._config_activateskin
push ecx
lea ecx, [esp + 0x48]
mov byte [esp + 0xdc], 0xc
call fcn.004363c0
lea edx, [esp + 0x68]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45ce14
call fcn.0040a630
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd8], 0xc
call fcn.00402d00
push eax
lea ecx, [esp + 0x48]
call fcn.004361a0
mov eax, dword [esp + 0x14]
mov byte [esp + 0xd0], 9
cmp eax, ebp
je 0x4201d6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x14]
push edx
mov bl, 0xe
push str._config_SkinGamma
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0xdc], bl
call fcn.004363c0
lea ecx, [esp + 0x50]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45cde8
call fcn.0040a630
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd8], bl
call fcn.00402d00
push eax
lea ecx, [esp + 0x48]
call fcn.004361a0
mov eax, dword [esp + 0x14]
mov byte [esp + 0xd0], 9
cmp eax, ebp
je 0x420241
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
push 8
lea eax, [esp + 0x30]
push ebp
lea ecx, [esp + 0x34]
push eax
push ecx
call esi
push 8
lea edx, [esp + 0x6c]
push ebp
lea eax, [esp + 0x70]
push edx
push eax
call esi
push 4
lea ecx, [esp + 0x54]
push ebp
lea edx, [esp + 0x58]
push ecx
push edx
call esi
mov eax, dword [esp + 0x34]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00425d40
lea ecx, [esp + 0x1c]
push ecx
call fcn.00429b70
add esp, 0xc
mov esi, eax
mov eax, dword [esi]
mov ecx, dword [esp + 0x28]
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
cmp ecx, eax
mov byte [esp + 0xd0], 0x10
je 0x4202ea
cmp dword [ecx - 0xc], ebp
jge 0x4202c0
mov edx, dword [0x45c054]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x4202c5
cmp dword [eax - 0xc], ebp
jge 0x4202d5
mov edx, dword [eax - 8]
push eax
push edx
lea ecx, [esp + 0x30]
call fcn.00403580
jmp 0x4202ea
lea ecx, [esp + 0x28]
call fcn.00425890
mov esi, dword [esi]
mov dword [esp + 0x28], esi
add esi, 0xfffffff4
push esi
call ebx
mov eax, dword [esp + 0x14]
mov edx, dword [0x45c054]
mov byte [esp + 0xd0], 9
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x420321
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x420321
mov edx, dword [esp + 0x14]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
mov eax, dword [esp + 0x70]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00425d40
lea ecx, [esp + 0x1c]
push ecx
call fcn.00429b70
add esp, 0xc
mov esi, eax
mov eax, dword [esi]
mov ecx, dword [esp + 0x24]
cmp ecx, eax
mov byte [esp + 0xd0], 0x11
je 0x420391
cmp dword [ecx - 0xc], ebp
jge 0x420367
mov edx, dword [0x45c054]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x42036c
cmp dword [eax - 0xc], ebp
jge 0x42037c
mov edx, dword [eax - 8]
push eax
push edx
lea ecx, [esp + 0x2c]
call fcn.00403580
jmp 0x420391
lea ecx, [esp + 0x24]
call fcn.00425890
mov esi, dword [esi]
mov dword [esp + 0x24], esi
add esi, 0xfffffff4
push esi
call ebx
mov eax, dword [esp + 0x14]
mov edx, dword [0x45c054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4203c0
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4203c0
mov edx, dword [esp + 0x14]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
mov eax, dword [esp + 0x58]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x50]
mov dword [esp + 0x1c], eax
push ecx
call esi
lea edx, [esp + 0x68]
push edx
call esi
lea eax, [esp + 0x2c]
push eax
call esi
mov ecx, dword [esp + 0x40]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push ecx
mov byte [esp + 0xd4], 5
call esi
mov eax, dword [esp + 0x3c]
cmp eax, ebp
je 0x420406
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x18]
push eax
call esi
mov eax, dword [esp + 0x10]
mov edx, dword [0x45c054]
mov byte [esp + 0xd0], 1
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x420444
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x420444
mov edx, dword [esp + 0x10]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
lea ebp, [edi + 0x60]
push ebp
push 0x45cdd8
push 7
push 0
push 0x454490
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, dword [ebp]
test esi, esi
je 0x420571
mov eax, dword [edi + 4]
mov ecx, dword [esi]
push eax
push esi
call dword [ecx + 0x10]
test eax, eax
jge 0x420481
push 0x45cdd8
push esi
push eax
call fcn.004448c6
mov dword [esp + 0x10], 0
mov esi, dword [ebp]
lea eax, [esp + 0x10]
push eax
push esi
mov edx, dword [esi]
mov byte [esp + 0xd8], 0x12
call dword [edx + 0x14]
test eax, eax
jge 0x4204af
push 0x45cdd8
push esi
push eax
call fcn.004448c6
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4204db
fld dword [esp + 0x1c]
sub esp, 8
fstp qword [esp]
push 0x45cdd0
push 0
push 0
push 1
push 0x33
push eax
call fcn.00444e0c
mov eax, dword [esp + 0x30]
add esp, 0x20
test eax, eax
mov byte [esp + 0xd0], 1
je 0x4204ed
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x24]
call fcn.00402d00
push ecx
mov esi, eax
mov dword [esp + 0x1c], esp
mov ebx, esp
push 0xc
call fcn.0044560d
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0xd4], 0x13
je 0x420523
push esi
mov ecx, eax
call fcn.00440ac0
jmp 0x420525
xor eax, eax
test eax, eax
mov byte [esp + 0xd4], 1
mov dword [ebx], eax
jne 0x42053d
push 0x8007000e
call fcn.004448b8
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd4], 0x14
call fcn.00402d00
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.004403b0
mov ecx, ebp
mov byte [esp + 0xd8], 1
call fcn.00402d00
mov ecx, eax
call fcn.004415e0
mov esi, dword [edi + 4]
lea edx, [esp + 0x14]
push esi
push edx
mov ecx, 0x460650
call fcn.00428e70
push 1
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0xdc], 0x16
call fcn.00425750
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x460650
call fcn.00429000
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
jle 0x4205c1
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x460650
push 0x429350
push esi
call dword [sym.imp.USER32.dll_EnumChildWindows]
lea ecx, [esp + 0x10]
call fcn.00429590
lea ecx, [esp + 0x14]
mov byte [esp + 0xd0], 1
call fcn.00429590
mov edx, dword [edi + 4]
push 0xfffffffffffffff0
push edx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ebp, dword [sym.imp.USER32.dll_GetParent]
mov ebx, eax
and ebx, 0x40000000
je 0x420610
mov eax, dword [edi + 4]
push eax
call ebp
jmp 0x42061c
mov ecx, dword [edi + 4]
push 4
push ecx
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
mov eax, dword [edi + 4]
lea edx, [esp + 0x2c]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
test ebx, ebx
mov ebx, dword [sym.imp.USER32.dll_GetClientRect]
jne 0x420699
test esi, esi
je 0x420654
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, 0x10000000
je 0x420652
test eax, 0x20000000
je 0x420654
xor esi, esi
lea ecx, [esp + 0x50]
push 0
push ecx
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
test esi, esi
jne 0x42068b
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
jmp 0x4206c0
lea eax, [esp + 0x3c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
jmp 0x4206c0
mov ecx, dword [edi + 4]
push ecx
call ebp
lea edx, [esp + 0x50]
mov ebp, eax
push edx
push ebp
call ebx
lea eax, [esp + 0x3c]
push eax
push esi
call ebx
lea ecx, [esp + 0x3c]
push 2
push ecx
push ebp
push esi
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x2c]
sub ebx, edx
mov edx, dword [esp + 0x44]
sub ebp, esi
add eax, edx
cdq
sub eax, edx
mov ecx, eax
mov eax, ebp
cdq
sub eax, edx
mov edx, dword [esp + 0x48]
sar ecx, 1
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0x40]
add eax, edx
cdq
sub eax, edx
mov esi, eax
mov eax, ebx
cdq
sub eax, edx
sar esi, 1
sar eax, 1
sub esi, eax
mov eax, dword [esp + 0x50]
cmp ecx, eax
jge 0x420714
mov ecx, eax
jmp 0x420723
mov eax, dword [esp + 0x58]
lea edx, [ecx + ebp]
cmp edx, eax
jle 0x420723
sub eax, ebp
mov ecx, eax
mov eax, dword [esp + 0x54]
cmp esi, eax
jl 0x420738
mov eax, dword [esp + 0x5c]
lea edx, [esi + ebx]
cmp edx, eax
jle 0x42073a
sub eax, ebx
mov esi, eax
mov eax, dword [edi + 4]
push 0x15
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
push ecx
push 0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
lea esi, [edi + 0x40]
test esi, esi
je 0x42075a
lea ebp, [esi - 0x40]
jmp 0x42075c
xor ebp, ebp
mov ecx, dword [ebp + 4]
push 0xfffffffffffffff0
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov edx, dword [ebp + 4]
push 0xe801
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4207a0
mov eax, dword [esi + 4]
test eax, eax
jle 0x4207a0
mov eax, dword [esi]
mov ecx, dword [eax + 4]
test ch, 0x40
je 0x4207a0
lea ecx, [esp + 0x18]
call fcn.00421b90
mov ecx, esi
call fcn.004126b0
xor eax, eax
or ebx, 0xffffffff
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x68]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
mov byte [esi + 0x1c], 0
mov eax, dword [ebp + 4]
lea edx, [esp + 0x2c]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
sub ecx, edx
mov edx, dword [esp + 0x38]
mov dword [esi + 0x14], ecx
sub edx, eax
mov dword [esp + 0x14], 0x4545f0
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x18], edx
mov eax, dword [ecx]
cmp eax, 0xffffffff
jne 0x420867
mov edx, dword [ecx + 4]
test edx, edx
je 0x4208f3
cmp eax, eax
jne 0x420867
mov eax, edx
cmp eax, 0x1000
je 0x42085b
cmp eax, 0x2000
jne 0x4208e7
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea ecx, [ebx + ebx*2]
sub eax, ebx
push eax
lea ecx, [edx + ecx*8]
call fcn.004312a0
mov ecx, dword [esp + 0x14]
or ebx, 0xffffffff
add ecx, 8
mov dword [esp + 0x14], ecx
jmp 0x42080e
mov ebx, dword [esi + 4]
add ecx, 8
mov dword [esp + 0x14], ecx
jmp 0x42080e
push eax
mov eax, dword [ebp + 4]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [esp + 0x2c]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp + 4]
lea edx, [esp + 0x2c]
push 2
push edx
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
cmp ebx, 0xffffffff
je 0x4208a2
cmp dword [esi + 4], ebx
jne 0x4208a2
mov ecx, 0x1000
jmp 0x4208a4
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov eax, dword [eax + 4]
or eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x50]
mov dword [esp + 0x64], ecx
push edx
mov ecx, esi
mov dword [esp + 0x64], eax
call fcn.004312c0
mov ecx, dword [esp + 0x14]
add ecx, 8
mov dword [esp + 0x14], ecx
jmp 0x42080e
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, dword [0x460690]
push 0
push 0xc
call esi
push eax
push 0xb
call esi
push eax
push 1
push 0x80
push ebx
mov ebx, dword [sym.imp.USER32.dll_LoadImageA]
call ebx
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
push eax
mov eax, dword [edi + 4]
push 1
push 0x80
push eax
call ebp
mov ecx, dword [0x460690]
push 0
push 0x32
mov dword [esp + 0x20], ecx
call esi
push eax
push 0x31
call esi
mov edx, dword [esp + 0x20]
push eax
push 1
push 0x80
push edx
call ebx
push eax
mov eax, dword [edi + 4]
push 0
push 0x80
push eax
call ebp
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [0x460710]
push eax
call fcn.00423700
test edi, edi
mov esi, eax
je 0x420982
lea ecx, [edi + 0x1c]
mov dword [esp + 0x10], ecx
jmp 0x42098a
mov dword [esp + 0x10], 0
lea edx, [esp + 0x10]
lea ecx, [esi + 4]
push edx
call fcn.00423530
xor ebp, ebp
cmp edi, ebp
je 0x4209a6
lea eax, [edi + 0x20]
mov dword [esp + 0x10], eax
jmp 0x4209aa
mov dword [esp + 0x10], ebp
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esi + 0x10]
call fcn.00423530
mov eax, dword [edi + 4]
cmp eax, ebp
je 0x4209d6
lea edx, [esp + 0x3c]
lea ecx, [edi + 0x24]
push edx
mov dword [esp + 0x40], eax
mov word [esp + 0x44], 4
call fcn.00424310
mov ebx, dword [edi + 4]
mov eax, 0x64
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov eax, dword [0x45cdb0]
mov dword [esp + 0x78], ebp
cmp eax, ebp
mov dword [esp + 0x7c], ebp
lea esi, [edi + 0xb4ac]
jne 0x420a09
mov dword [0x45cdb0], ebp
lea eax, [esi + 0x1c]
push eax
push 0x45cd80
push 0x460688
call fcn.00421bb0
push ebp
push eax
push ebp
push ebp
push 0x40000000
lea ecx, [esp + 0x8c]
push ebp
push ecx
push ebx
mov ecx, esi
call fcn.00442bd0
mov edx, dword [edi + 4]
push 0x3f2
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
lea esi, [edi + 0x64]
push eax
mov ecx, esi
call fcn.00436700
cmp esi, ebp
je 0x420a59
lea eax, [edi + 0x68]
jmp 0x420a5b
xor eax, eax
mov ebp, dword [eax]
lea ebx, [edi + 0x98]
push ebx
lea eax, [ebx + 8]
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebp
mov ebp, dword [sym.imp.USER32.dll_CreateDialogParamA]
push 0xe0
push eax
call ebp
test ebx, ebx
je 0x420a99
lea eax, [edi + 0x9c]
jmp 0x420a9b
xor eax, eax
mov eax, dword [eax]
push 0xffffffffffffffec
push eax
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ecx, dword [esp + 0x10]
or eax, 0x10000
push eax
push 0xffffffffffffffec
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov eax, dword [esi + 0x28]
lea ebx, [esi + 0x20]
lea edx, [esp + 0x10]
mov ecx, ebx
push edx
push eax
call fcn.0042bf80
mov ecx, ebx
call fcn.00425200
mov eax, dword [esi + 0x30]
test eax, eax
je 0x420b7f
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
jl 0x420b22
lea ecx, [esi + 0x20]
mov dword [esp + 0x18], eax
call fcn.00425200
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x420b22
mov eax, dword [esi + 0x24]
push 0
mov ecx, dword [eax + ecx*4]
push ecx
call ebx
mov eax, dword [esi + 0x24]
mov edx, dword [esi + 0x30]
push 0
push 0
mov eax, dword [eax + edx*4]
push 0x1be4
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esi + 4]
lea ecx, [esp + 0x2c]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + 0x24]
sub edx, ecx
push 0
push edx
mov edx, dword [esp + 0x3c]
sub edx, dword [esp + 0x34]
push edx
mov edx, dword [eax]
push ecx
mov ecx, dword [esp + 0x3c]
push ecx
push edx
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [esi + 0x24]
push 5
mov eax, dword [eax]
push eax
call ebx
mov dword [esi + 0x30], 0
mov esi, dword [esi + 0x24]
push 0
push 0
mov ecx, dword [esi]
push 0x1be3
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [edi + 4]
push 0x3f1
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
lea esi, [edi + 0x3c4]
push eax
mov ecx, esi
call fcn.00442c80
mov ecx, dword [esi + 4]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esi + 4]
push 0
push 0
push 0
push 0x50000000
lea edx, [esp + 0x3c]
lea ebx, [esi + 0x20]
push 0
push edx
push eax
mov ecx, ebx
call fcn.00425220
test ebx, ebx
je 0x420bdc
lea ecx, [esi + 0x24]
mov dword [esp + 0x10], ecx
jmp 0x420be4
mov dword [esp + 0x10], 0
push 0
push ecx
mov ecx, esp
push 0x1060
call fcn.00402ce0
push 0x200
push 0x50000027
push 0
push ecx
mov ecx, esp
push 0x45c068
call fcn.00402ce0
mov ecx, dword [esp + 0x28]
call fcn.00402d00
push eax
lea ecx, [esi + 0x84]
call fcn.00424440
test ebx, ebx
je 0x420c2a
lea eax, [esi + 0x24]
jmp 0x420c2c
xor eax, eax
mov eax, dword [eax]
push 0
push 0x1061
push 0
push 0x50000000
push 0
push 0x45c068
lea ecx, [esi + 0x90]
push eax
call fcn.004250f0
push 0
lea ecx, [esi + 0x40]
push 0
call fcn.00425540
lea eax, [esi + 0x90]
test eax, eax
je 0x420c6d
lea eax, [esi + 0x94]
jmp 0x420c6f
xor eax, eax
mov eax, dword [eax]
mov ecx, dword [esi + 0x84]
push 1
push eax
push ecx
lea ecx, [esi + 0x40]
call fcn.00425570
push 1
push 0xc8
lea ecx, [esi + 0x40]
call fcn.00425310
mov eax, dword [esp + 0x18]
test eax, eax
je 0x420d4e
mov edx, dword [esi + 4]
push 0xffffffffffffffec
push edx
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, 0x10000
push eax
mov eax, dword [esi + 4]
push 0xffffffffffffffec
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
test ebx, ebx
je 0x420cc5
lea eax, [esi + 0x24]
jmp 0x420cc7
xor eax, eax
mov eax, dword [eax]
push 0xffffffffffffffec
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
test ebx, ebx
je 0x420cdb
lea ecx, [esi + 0x24]
jmp 0x420cdd
xor ecx, ecx
mov ecx, dword [ecx]
mov ebx, dword [sym.imp.USER32.dll_SetWindowLongA]
or eax, 0x10000
push eax
push 0xffffffffffffffec
push ecx
call ebx
mov eax, dword [esi + 0x84]
push 0xffffffffffffffec
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ecx, dword [esi + 0x84]
or eax, 0x10000
push eax
push 0xffffffffffffffec
push ecx
call ebx
lea ebx, [esi + 0x90]
test ebx, ebx
je 0x420d22
lea eax, [esi + 0x94]
jmp 0x420d24
xor eax, eax
mov eax, dword [eax]
push 0xffffffffffffffec
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
test ebx, ebx
je 0x420d3b
lea ecx, [esi + 0x94]
jmp 0x420d3d
xor ecx, ecx
mov ecx, dword [ecx]
or eax, 0x10000
push eax
push 0xffffffffffffffec
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov eax, dword [esi + 0x84]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x420db4
push 0
push 0xa
lea ebx, [esi + 0x88]
push 0x21
push 0x10
push 0x10
mov ecx, ebx
call fcn.00428630
push ecx
lea ecx, [esi + 0x8c]
mov eax, esp
mov dword [eax], 0xca
call fcn.004256e0
mov eax, dword [esi + 0x8c]
mov ecx, dword [ebx]
push 0xff00
push eax
push ecx
call dword [sym.imp.COMCTL32.dll_ImageList_AddMasked]
mov ebx, dword [ebx]
push 0
lea edx, [esp + 0x1c]
push ebx
push edx
lea ecx, [esi + 0x84]
call fcn.004244a0
mov eax, dword [edi + 4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x31
push eax
call ebx
mov dword [esp + 0x88], eax
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd0], 0x17
push ecx
push 0x3c
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
lea edx, [esp + 0x8c]
mov dword [esp + 0x9c], 0x190
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push 1
mov dword [edi + 0x488], eax
push eax
mov eax, dword [edi + 0x448]
push 0x30
push eax
call ebx
lea ecx, [esi + 0x90]
test ecx, ecx
je 0x420e25
lea eax, [esi + 0x94]
jmp 0x420e27
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x48c]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea edx, [esi + 0x90]
test edx, edx
je 0x420e65
lea eax, [esi + 0x94]
jmp 0x420e67
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0xf78]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea eax, [esi + 0x90]
test eax, eax
je 0x420ea5
lea eax, [esi + 0x94]
jmp 0x420ea7
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x1a64]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea ecx, [esi + 0x90]
test ecx, ecx
je 0x420ee5
lea eax, [esi + 0x94]
jmp 0x420ee7
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x2550]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea edx, [esi + 0x90]
test edx, edx
je 0x420f25
lea eax, [esi + 0x94]
jmp 0x420f27
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x305c]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea eax, [esi + 0x90]
test eax, eax
je 0x420f65
lea eax, [esi + 0x94]
jmp 0x420f67
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x3b68]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea ecx, [esi + 0x90]
test ecx, ecx
je 0x420fa5
lea eax, [esi + 0x94]
jmp 0x420fa7
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x4674]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea edx, [esi + 0x90]
test edx, edx
je 0x420fe5
lea eax, [esi + 0x94]
jmp 0x420fe7
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x5180]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea eax, [esi + 0x90]
test eax, eax
je 0x421025
lea eax, [esi + 0x94]
jmp 0x421027
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x5c8c]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea ecx, [esi + 0x90]
test ecx, ecx
je 0x421065
lea eax, [esi + 0x94]
jmp 0x421067
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x6798]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea edx, [esi + 0x90]
test edx, edx
je 0x4210a5
lea eax, [esi + 0x94]
jmp 0x4210a7
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x72a4]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea eax, [esi + 0x90]
test eax, eax
je 0x4210e5
lea eax, [esi + 0x94]
jmp 0x4210e7
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x7db0]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea ecx, [esi + 0x90]
test ecx, ecx
je 0x421125
lea eax, [esi + 0x94]
jmp 0x421127
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x88bc]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea edx, [esi + 0x90]
test edx, edx
je 0x421165
lea eax, [esi + 0x94]
jmp 0x421167
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x93b8]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea eax, [esi + 0x90]
test eax, eax
je 0x4211a5
lea eax, [esi + 0x94]
jmp 0x4211a7
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0x9eb4]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea ecx, [esi + 0x90]
test ecx, ecx
je 0x4211e5
lea eax, [esi + 0x94]
jmp 0x4211e7
xor eax, eax
mov ebx, dword [eax]
lea eax, [edi + 0xa9b0]
push eax
add eax, 8
push eax
push 0x460688
call fcn.00403e10
mov eax, dword [0x460690]
push 0
push 0x442930
push ebx
push 0x82
push eax
call ebp
lea eax, [edi + 0x48c]
test eax, eax
je 0x421225
lea ebx, [edi + 0x490]
jmp 0x421227
xor ebx, ebx
push 0xffff0002
push 0xffff0000
push 1
push ecx
mov ebp, esp
mov dword [esp + 0x28], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.LNG01295
call fcn.00425b80
push ebp
mov ecx, 0x460650
call fcn.00429000
mov ecx, ebx
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
mov ebp, eax
lea eax, [edi + 0xf78]
test eax, eax
je 0x421287
lea edx, [edi + 0xf7c]
mov dword [esp + 0x10], edx
jmp 0x42128f
mov dword [esp + 0x10], 0
push 0xffff0002
push ebp
push 4
push ecx
mov ebx, esp
mov dword [esp + 0x28], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.LNG01296
call fcn.00425b80
push ebx
mov ecx, 0x460650
call fcn.00429000
mov ecx, dword [esp + 0x20]
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
lea eax, [edi + 0x1a64]
test eax, eax
je 0x4212e7
lea ebx, [edi + 0x1a68]
jmp 0x4212e9
xor ebx, ebx
push 0xffff0002
push ebp
push 5
push ecx
mov ebp, esp
mov dword [esp + 0x28], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.LNG01297
call fcn.00425b80
push ebp
mov ecx, 0x460650
call fcn.00429000
mov ecx, ebx
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
lea eax, [edi + 0x2550]
test eax, eax
je 0x42133f
lea ebx, [edi + 0x2554]
jmp 0x421341
xor ebx, ebx
push 0xffff0002
push 0xffff0000
push 3
push ecx
mov ebp, esp
mov dword [esp + 0x28], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.LNG01292
call fcn.00425b80
push ebp
mov ecx, 0x460650
call fcn.00429000
mov ecx, ebx
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
lea ecx, [edi + 0x305c]
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x42139f
lea ebp, [edi + 0x3060]
jmp 0x4213a1
xor ebp, ebp
push 0xffff0002
push eax
push 4
push ecx
mov ebx, esp
mov dword [esp + 0x2c], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.LNG01296
call fcn.00425b80
push ebx
mov ecx, 0x460650
call fcn.00429000
mov ecx, ebp
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
mov ebp, eax
lea eax, [edi + 0x3b68]
test eax, eax
je 0x4213fd
lea eax, [edi + 0x3b6c]
mov dword [esp + 0x10], eax
jmp 0x421405
mov dword [esp + 0x10], 0
push 0xffff0002
push ebp
push 2
push ecx
mov ebx, esp
mov dword [esp + 0x2c], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.LNG01213
call fcn.00425b80
push ebx
mov ecx, 0x460650
call fcn.00429000
mov ecx, dword [esp + 0x20]
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
lea eax, [edi + 0x4674]
test eax, eax
je 0x421461
lea ecx, [edi + 0x4678]
mov dword [esp + 0x10], ecx
jmp 0x421469
mov dword [esp + 0x10], 0
push 0xffff0002
push ebp
push 2
push ecx
mov ebx, esp
mov dword [esp + 0x2c], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.LNG01299
call fcn.00425b80
push ebx
mov ecx, 0x460650
call fcn.00429000
mov ecx, dword [esp + 0x20]
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
lea eax, [edi + 0x5180]
test eax, eax
je 0x4214c5
lea edx, [edi + 0x5184]
mov dword [esp + 0x10], edx
jmp 0x4214cd
mov dword [esp + 0x10], 0
push 0xffff0002
push ebp
push 2
push ecx
mov ebx, esp
mov dword [esp + 0x2c], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.LNG01300
call fcn.00425b80
push ebx
mov ecx, 0x460650
call fcn.00429000
mov ecx, dword [esp + 0x20]
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
lea eax, [edi + 0x5c8c]
test eax, eax
je 0x421525
lea ebx, [edi + 0x5c90]
jmp 0x421527
xor ebx, ebx
push 0xffff0002
push ebp
push 2
push ecx
mov ebp, esp
mov dword [esp + 0x2c], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.LNG01301
call fcn.00425b80
push ebp
mov ecx, 0x460650
call fcn.00429000
mov ecx, ebx
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
lea eax, [edi + 0x6798]
test eax, eax
je 0x42157d
lea ebx, [edi + 0x679c]
jmp 0x42157f
xor ebx, ebx
mov eax, dword [esp + 0x18]
push 0xffff0002
push eax
push 5
push ecx
mov ebp, esp
mov dword [esp + 0x28], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.LNG01297
call fcn.00425b80
push ebp
mov ecx, 0x460650
call fcn.00429000
mov ecx, ebx
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
mov ebx, eax
lea eax, [edi + 0x72a4]
test eax, eax
je 0x4215df
lea ecx, [edi + 0x72a8]
mov dword [esp + 0x10], ecx
jmp 0x4215e7
mov dword [esp + 0x10], 0
push 0xffff0002
push ebx
push 2
push ecx
mov ebp, esp
mov dword [esp + 0x28], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.LNG01213
call fcn.00425b80
push ebp
mov ecx, 0x460650
call fcn.00429000
mov ecx, dword [esp + 0x20]
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
lea eax, [edi + 0x7db0]
test eax, eax
je 0x42163f
lea ebp, [edi + 0x7db4]
jmp 0x421641
xor ebp, ebp
push 0xffff0002
push ebx
push 2
push ecx
mov ebx, esp
mov dword [esp + 0x28], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.LNG01299
call fcn.00425b80
push ebx
mov ecx, 0x460650
call fcn.00429000
mov ecx, ebp
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
lea eax, [edi + 0x88bc]
test eax, eax
je 0x421697
lea ebx, [edi + 0x88c0]
jmp 0x421699
xor ebx, ebx
push 0xffff0002
push 0xffff0000
push 6
push ecx
mov ebp, esp
mov dword [esp + 0x28], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.LNG01302
call fcn.00425b80
push ebp
mov ecx, 0x460650
call fcn.00429000
mov ecx, ebx
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
mov ebx, eax
lea eax, [edi + 0x93b8]
test eax, eax
je 0x4216f9
lea edx, [edi + 0x93bc]
mov dword [esp + 0x10], edx
jmp 0x421701
mov dword [esp + 0x10], 0
push 0xffff0002
push ebx
push 2
push ecx
mov ebp, esp
mov dword [esp + 0x28], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.LNG01303
call fcn.00425b80
push ebp
mov ecx, 0x460650
call fcn.00429000
mov ecx, dword [esp + 0x20]
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
lea eax, [edi + 0x9eb4]
test eax, eax
je 0x421759
lea ebp, [edi + 0x9eb8]
jmp 0x42175b
xor ebp, ebp
push 0xffff0002
push ebx
push 2
push ecx
mov ebx, esp
mov dword [esp + 0x28], esp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push str.LNG01304
call fcn.00425b80
push ebx
mov ecx, 0x460650
call fcn.00429000
mov ecx, ebp
mov byte [esp + 0xe0], 0x17
call fcn.00402d00
push eax
mov ecx, esi
call fcn.004369f0
lea ebx, [esi + 0x84]
push 0
push 0xffff0000
mov ecx, ebx
call fcn.00424510
mov ebp, eax
test ebp, ebp
je 0x4217dd
push ebp
mov ecx, ebx
call fcn.004244d0
test eax, eax
je 0x4217cd
push ebp
mov ecx, esi
call fcn.00436c50
push 1
push ebp
mov ecx, ebx
call fcn.00424510
mov ebp, eax
test ebp, ebp
jne 0x4217b9
push 0
push 5
mov ecx, esi
call fcn.00436b70
test eax, eax
je 0x421801
push eax
mov eax, dword [esi + 0x84]
push 9
push 0x110b
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [0x45c050]
mov dword [esp + 0x20], ecx
lea edx, [esp + 0x4c]
push 0
push edx
mov byte [esp + 0xd8], 0x27
call fcn.0042c640
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x20]
mov bl, 0x28
push eax
push ecx
mov byte [esp + 0xe0], bl
call fcn.0042d160
mov esi, eax
mov edx, dword [esp + 0x5c]
lea eax, [esp + 0x2c]
push edx
push eax
mov byte [esp + 0xe8], 0x29
call fcn.0042cf60
add esp, 0x18
push 0x45c72c
lea ecx, [esp + 0x18]
push eax
push ecx
mov byte [esp + 0xdc], 0x2a
call fcn.004261b0
push esi
lea edx, [esp + 0x14]
push eax
push edx
mov byte [esp + 0xdc], 0x2b
call fcn.00426050
mov esi, eax
mov eax, dword [esi]
mov ecx, dword [esp + 0x20]
cmp ecx, eax
mov byte [esp + 0xd0], 0x2c
je 0x4218d7
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x4218a7
mov edx, dword [0x45c054]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x4218ae
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x4218be
push eax
mov eax, dword [eax - 8]
push eax
lea ecx, [esp + 0x28]
call fcn.00403580
jmp 0x4218d7
lea ecx, [esp + 0x20]
call fcn.00425890
mov esi, dword [esi]
mov dword [esp + 0x20], esi
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x10]
mov edx, dword [0x45c054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x42190a
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x421910
mov edx, dword [esp + 0x10]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
jmp 0x421910
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, dword [esp + 0x14]
mov edx, dword [0x45c054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x42193b
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x42193b
mov edx, dword [esp + 0x14]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
mov eax, dword [esp + 0x1c]
mov edx, dword [0x45c054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x421966
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x421966
mov edx, dword [esp + 0x1c]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
mov eax, dword [esp + 0x18]
mov edx, dword [0x45c054]
mov byte [esp + 0xd0], bl
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x421998
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x421998
mov edx, dword [esp + 0x18]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [edi + 4]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ebp, 1
lea eax, [esp + 0x18]
mov dword [edi + 0xb4cc], ebp
mov esi, dword [0x460648]
push eax
push esi
mov edx, dword [esi]
call dword [edx + 0x30]
test eax, eax
jge 0x4219d3
push 0x45c528
push esi
push eax
call fcn.004448c6
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x421b1c
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x18]
push ecx
push edx
mov dword [esp + 0x24], 0
call fcn.00441410
add esp, 4
mov bl, 0x2d
mov ecx, eax
mov byte [esp + 0xd4], bl
call fcn.00402d00
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.004403b0
mov ecx, 0x460648
mov byte [esp + 0xd8], bl
call fcn.00402d00
mov ecx, eax
call fcn.00440f40
mov eax, dword [esp + 0x18]
mov edx, dword [0x45c054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x421a61
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x421a67
mov edx, dword [esp + 0x18]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
jmp 0x421a67
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp dword [esp + 0x1c], ebp
je 0x421b1c
mov eax, dword [edi + 4]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
push 2
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov eax, dword [esp + 0x4c]
mov edx, dword [0x45c054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x421aae
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x421aae
mov edx, dword [esp + 0x4c]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
mov eax, dword [esp + 0x20]
mov edx, dword [0x45c054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x421ad9
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x421ad9
mov edx, dword [esp + 0x20]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
mov eax, dword [esp + 0x24]
mov edx, dword [0x45c054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x421b04
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x421b04
mov edx, dword [esp + 0x24]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0xd0], 0xffffffff
call fcn.00429590
xor eax, eax
jmp 0x421b6f
lea ecx, [esp + 0x4c]
mov dword [edi + 0xb4cc], 0
mov byte [esp + 0xd0], 0x27
call fcn.00429590
lea ecx, [esp + 0x20]
mov byte [esp + 0xd0], 0x17
call fcn.00429590
lea ecx, [esp + 0x24]
mov byte [esp + 0xd0], 0
call fcn.00429590
lea ecx, [esp + 0x28]
mov dword [esp + 0xd0], 0xffffffff
call fcn.00429590
mov eax, ebp
mov ecx, dword [esp + 0xc8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xc4
ret 0x10