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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5bd26f
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x621d30]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push esi
push edi
mov eax, dword [0x621d30]
xor eax, esp
push eax
lea eax, [esp + 0x130]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov ebx, edx
mov esi, ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], edi
cmp eax, 0x11
ja case.default.0x48507b
jmp dword [eax*4 + 0x48756c]
lea ecx, [esp + 0x20]
call fcn.00453b50
lea ecx, [esp + 0x18]
mov dword [esp + 0x138], 0
call fcn.00453b50
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
mov byte [esp + 0x140], 1
call fcn.004875d0
test al, al
je 0x4853d2
lea edx, [esp + 0x20]
push str.W_SO
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x4853b7
lea ecx, [esp + 0x1c]
call fcn.00453b50
lea ecx, [esp + 0x18]
mov byte [esp + 0x138], 2
call fcn.00452fb0
mov ecx, eax
call fcn.00453030
push 1
push 0
lea ecx, [esp + 0x20]
call fcn.00488f30
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], 0
jg 0x485117
or esi, 0xffffffff
jmp 0x485133
push 0x2c
push eax
call fcn.005920d0
add esp, 8
test eax, eax
jne 0x48512b
or esi, 0xffffffff
jmp 0x485133
sub eax, dword [esp + 0x18]
sar eax, 1
mov esi, eax
xor edi, edi
lea ecx, [esp + 0x18]
call fcn.00452fb0
mov ecx, eax
call fcn.00453030
test edi, edi
jne 0x48518e
push esi
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x20]
call fcn.00456700
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x13c], 3
call fcn.00453ee0
mov byte [esp + 0x138], 2
mov eax, dword [esp + 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x4851c5
cmp edi, 1
jne 0x4851da
push esi
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x20]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x48525f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x48525f
cmp edi, 2
jne 0x48522d
push esi
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x20]
call fcn.00456700
lea edx, [esp + 0x14]
push str.FFFFFFFF
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x485216
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x14]
jmp 0x48525a
mov eax, dword [esp + 0x14]
push eax
call fcn.00591f13
add esp, 4
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x14]
jmp 0x48525a
cmp edi, 3
jne 0x48525f
push esi
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x20]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
add esp, 4
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x80]
call fcn.00453f70
mov edx, dword [esp + 0x18]
mov eax, dword [edx - 0xc]
sub eax, esi
dec eax
push eax
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x20]
call fcn.00483ed0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x13c], 4
call fcn.00453ee0
mov byte [esp + 0x138], 2
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4852b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
cmp dword [ecx - 0xc], 0
jg 0x4852c1
or esi, 0xffffffff
jmp 0x4852df
push 0x2c
push ecx
call fcn.005920d0
mov ecx, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4852d9
or esi, 0xffffffff
jmp 0x4852df
sub eax, ecx
sar eax, 1
mov esi, eax
inc edi
cmp edi, 4
jl 0x485135
cmp dword [ecx - 0xc], 0
jg 0x4852f4
or eax, 0xffffffff
jmp 0x48530e
push 0x29
push ecx
call fcn.005920d0
add esp, 8
test eax, eax
jne 0x485308
or eax, 0xffffffff
jmp 0x48530e
sub eax, dword [esp + 0x18]
sar eax, 1
push eax
lea ecx, [esp + 0xc4]
push ecx
lea ecx, [esp + 0x20]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov edi, eax
mov eax, dword [esp + 0xc4]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x485350
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x28]
mov esi, ebx
mov dword [ebx + 0x88], ecx
mov byte [ebx + 0x79], 1
call fcn.0046e850
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x1c]
push edi
push edx
push eax
push ecx
add esi, 0xfffffff0
mov dword [esp + 0xcc], esp
mov edi, esp
push esi
call fcn.00453e70
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [edi], eax
call fcn.0046e770
mov byte [esp + 0x138], 1
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4853b7
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.004875d0
test al, al
jne 0x4850c0
mov byte [esp + 0x138], 0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4853fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x138], 0xffffffff
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg case.default.0x48507b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp case.default.0x48507b
lea ecx, [esp + 0x1c]
call fcn.00453b50
lea ecx, [esp + 0x10]
mov dword [esp + 0x138], 5
call fcn.00453b50
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
mov ecx, edi
mov byte [esp + 0x140], 6
call fcn.004875d0
test al, al
je 0x485989
lea esp, [esp]
lea eax, [esp + 0x1c]
push 0x5f36e0
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x4854a5
mov ecx, dword [esp + 0x10]
mov esi, dword [ebx]
push ecx
call fcn.00591f13
mov edx, dword [esi + 0x19c]
add esp, 4
push eax
mov ecx, ebx
call edx
jmp 0x485970
lea eax, [esp + 0x1c]
push 0x5f36d4
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x4854da
mov ecx, dword [esp + 0x10]
mov esi, dword [ebx]
push ecx
call fcn.00591f13
mov edx, dword [esi + 0x168]
add esp, 4
push eax
mov ecx, ebx
call edx
jmp 0x485970
lea eax, [esp + 0x1c]
push 0x5f36c4
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x485516
mov eax, dword [ebx + 0x84]
mov ecx, dword [esp + 0x10]
mov esi, dword [ebx]
push eax
push ecx
call fcn.00591f13
mov edx, dword [esi + 0x170]
add esp, 4
push eax
mov ecx, ebx
call edx
jmp 0x485970
lea eax, [esp + 0x1c]
push 0x5f411c
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x485552
mov ecx, dword [esp + 0x10]
mov edi, dword [ebx + 0x80]
mov esi, dword [ebx]
push ecx
call fcn.00591f13
mov edx, dword [esi + 0x170]
add esp, 4
push eax
push edi
mov ecx, ebx
call edx
jmp 0x48596c
lea eax, [esp + 0x1c]
push 0x5f4128
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x485587
mov ecx, dword [esp + 0x10]
mov esi, dword [ebx]
push ecx
call fcn.00591f13
mov edx, dword [esi + 0x16c]
add esp, 4
push eax
mov ecx, ebx
call edx
jmp 0x485970
lea eax, [esp + 0x1c]
push 0x5f4134
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x4855bc
mov ecx, dword [esp + 0x10]
mov esi, dword [ebx]
push ecx
call fcn.00591f13
mov edx, dword [esi + 0x17c]
add esp, 4
push eax
mov ecx, ebx
call edx
jmp 0x485970
lea eax, [esp + 0x1c]
push str.W_SO
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x485970
lea ecx, [esp + 0x10]
call fcn.00452fb0
mov ecx, eax
call fcn.00453030
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.00488f30
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], 0
jg 0x485602
or esi, 0xffffffff
jmp 0x48561e
push 0x2c
push eax
call fcn.005920d0
add esp, 8
test eax, eax
jne 0x485616
or esi, 0xffffffff
jmp 0x48561e
sub eax, dword [esp + 0x10]
sar eax, 1
mov esi, eax
xor edi, edi
lea ecx, [esp + 0x10]
call fcn.00452fb0
mov ecx, eax
call fcn.00453030
test edi, edi
jne 0x485661
push esi
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov dword [esp + 0xc8], eax
lea ecx, [esp + 0x8c]
jmp 0x485884
cmp edi, 1
jne 0x48568d
push esi
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov dword [esp + 0xcc], eax
lea ecx, [esp + 0x54]
jmp 0x485884
cmp edi, 2
jne 0x4856bf
push esi
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov dword [esp + 0xd0], eax
lea ecx, [esp + 0xac]
jmp 0x485884
cmp edi, 3
jne 0x4856eb
push esi
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov dword [esp + 0xd4], eax
lea ecx, [esp + 0x5c]
jmp 0x485884
cmp edi, 4
jne 0x48571d
push esi
lea edx, [esp + 0x94]
push edx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov dword [esp + 0xd8], eax
lea ecx, [esp + 0x94]
jmp 0x485884
cmp edi, 5
jne 0x485749
push esi
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xdc], al
lea ecx, [esp + 0x64]
jmp 0x485884
cmp edi, 6
jne 0x48577b
push esi
lea ecx, [esp + 0xbc]
push ecx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xdd], al
lea ecx, [esp + 0xbc]
jmp 0x485884
cmp edi, 7
jne 0x4857a7
push esi
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xde], al
lea ecx, [esp + 0x6c]
jmp 0x485884
cmp edi, 8
jne 0x4857d3
push esi
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xdf], al
lea ecx, [esp + 0x34]
jmp 0x485884
cmp edi, 9
jne 0x4857ff
push esi
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xe0], al
lea ecx, [esp + 0x74]
jmp 0x485884
cmp edi, 0xa
jne 0x48582e
push esi
lea edx, [esp + 0xb4]
push edx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xe1], al
lea ecx, [esp + 0xb4]
jmp 0x485884
cmp edi, 0xb
jne 0x485857
push esi
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xe2], al
lea ecx, [esp + 0x7c]
jmp 0x485884
cmp edi, 0xc
jne 0x48588c
push esi
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xe3], al
lea ecx, [esp + 0xa4]
add esp, 4
call fcn.00453f70
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 0xc]
sub eax, esi
dec eax
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x18]
call fcn.00483ed0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x13c], 7
call fcn.00453ee0
lea ecx, [esp + 0x34]
mov byte [esp + 0x138], 6
call fcn.00453f70
mov ecx, dword [esp + 0x10]
cmp dword [ecx - 0xc], 0
jg 0x4858d7
or esi, 0xffffffff
jmp 0x4858f5
push 0x2c
push ecx
call fcn.005920d0
mov ecx, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x4858ef
or esi, 0xffffffff
jmp 0x4858f5
sub eax, ecx
sar eax, 1
mov esi, eax
inc edi
cmp edi, 0xd
jl 0x485620
cmp dword [ecx - 0xc], 0
jg 0x48590a
or eax, 0xffffffff
jmp 0x485924
push 0x29
push ecx
call fcn.005920d0
add esp, 8
test eax, eax
jne 0x48591e
or eax, 0xffffffff
jmp 0x485924
sub eax, dword [esp + 0x10]
sar eax, 1
push eax
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
lea edx, [esp + 0xe4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [esp + 0x3c]
call fcn.00453f70
mov eax, dword [ebx]
mov edx, dword [eax + 0x198]
sub esp, 0x5c
mov edi, esp
mov ecx, 0x17
lea esi, [esp + 0x120]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call edx
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
call fcn.004875d0
test al, al
jne 0x485470
mov byte [esp + 0x138], 5
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4859b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x138], 0xffffffff
mov eax, dword [esp + 0x1c]
jmp 0x485409
lea ecx, [esp + 0x1c]
call fcn.00453b50
lea ecx, [esp + 0x14]
mov dword [esp + 0x138], 8
call fcn.00453b50
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
mov ecx, edi
mov byte [esp + 0x140], 9
call fcn.004875d0
test al, al
je 0x485b01
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
lea esp, [esp]
lea eax, [esp + 0x1c]
push 0x5f373c
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x485a48
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00591f13
add esp, 4
test eax, eax
setne dl
movzx eax, dl
push eax
mov esi, ebx
call fcn.0046a8e0
jmp 0x485ae6
lea ecx, [esp + 0x1c]
push 0x5f4140
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x485ab3
mov esi, dword [esp + 0x14]
push esi
call fcn.00591f13
add esp, 4
test eax, eax
setne al
mov byte [esp + 0x2c], al
test al, al
je 0x485a9b
push 0
push 0x10000
push 0
mov ecx, ebx
call fcn.0048d69f
mov edx, dword [ebx + 0x20]
push 1
push 1
push 0xf4
push edx
call edi
mov al, byte [esp + 0x2c]
push esi
mov byte [ebx + 0x7d], al
call fcn.00591f13
add esp, 4
test eax, eax
je 0x485ae6
mov dword [0x62d284], ebx
jmp 0x485ae6
lea eax, [esp + 0x1c]
push str._tgHe
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x485ae6
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00591f13
add esp, 4
test eax, eax
setne dl
movzx eax, dl
push eax
mov esi, ebx
call fcn.0046a940
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
call fcn.004875d0
test al, al
jne 0x485a10
lea ecx, [esp + 0x14]
call fcn.00453f70
lea ecx, [esp + 0x1c]
jmp 0x48753f
lea ecx, [esp + 0x10]
call fcn.00453b50
lea ecx, [esp + 0x18]
mov dword [esp + 0x138], 0xa
call fcn.00453b50
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, edi
mov byte [esp + 0x140], 0xb
call fcn.004875d0
test al, al
je 0x485d20
lea edx, [esp + 0x10]
push str._tgHe
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x485b84
mov eax, dword [esp + 0x18]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
setne cl
mov byte [ebx + 0x9f], cl
jmp 0x485d07
lea edx, [esp + 0x10]
push 0x5f373c
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x485bb7
mov eax, dword [esp + 0x18]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
setne cl
mov byte [ebx + 0xa0], cl
jmp 0x485d07
lea edx, [esp + 0x10]
push 0x5f376c
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x485bea
mov eax, dword [esp + 0x18]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
setne cl
mov byte [ebx + 0x9c], cl
jmp 0x485d07
lea edx, [esp + 0x10]
push str.peW_
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x485c1d
mov eax, dword [esp + 0x18]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
setne cl
mov byte [ebx + 0x9d], cl
jmp 0x485d07
lea edx, [esp + 0x10]
push 0x5f3774
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x485c50
mov eax, dword [esp + 0x18]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
setne cl
mov byte [ebx + 0x9e], cl
jmp 0x485d07
lea edx, [esp + 0x10]
push 0x5f3760
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x485c7e
mov eax, dword [esp + 0x18]
push eax
call fcn.00591f13
add esp, 4
mov dword [ebx + 0x84], eax
jmp 0x485d07
lea ecx, [esp + 0x10]
push 0x5ee4c8
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x485ca9
mov edx, dword [esp + 0x18]
push edx
call fcn.00591f13
add esp, 4
mov dword [ebx + 0x88], eax
jmp 0x485d07
lea eax, [esp + 0x10]
push 0x5f3838
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x485cd9
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00591f13
add esp, 4
test eax, eax
setne dl
mov byte [ebx + 0xa1], dl
jmp 0x485d07
lea eax, [esp + 0x10]
push str.4ls
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x485d07
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00591f13
add esp, 4
test eax, eax
setne dl
mov byte [ebx + 0xa2], dl
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, edi
call fcn.004875d0
test al, al
jne 0x485b51
lea ecx, [esp + 0x18]
call fcn.00453f70
lea ecx, [esp + 0x10]
jmp 0x48753f
lea ecx, [esp + 0x18]
call fcn.00453b50
lea ecx, [esp + 0x1c]
mov dword [esp + 0x138], 0xc
call fcn.00453b50
mov byte [esp + 0x138], 0xd
cmp byte [esi + 0x10], 0
je 0x485d83
push 0
push 0x20000
push 0
mov ecx, ebx
call fcn.0048d69f
mov edx, dword [ebx + 0x20]
push 1
push 0
push edx
mov byte [ebx + 0x7b], 1
call dword [sym.imp.USER32.dll_InvalidateRect]
mov byte [esi + 0x10], 0
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.004875d0
test al, al
je 0x485e9b
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
lea edx, [esp + 0x18]
push str._fT_t
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x485de3
mov eax, dword [esp + 0x1c]
push eax
call fcn.00591f13
mov edx, dword [ebx + 0x20]
add esp, 4
test eax, eax
setne al
push 0
movzx ecx, al
push ecx
push 0xf1
push edx
mov byte [ebx + 0x78], al
call edi
jmp 0x485e80
lea eax, [esp + 0x18]
push str._tgHe
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x485e18
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00591f13
add esp, 4
test eax, eax
setne dl
movzx eax, dl
push eax
mov esi, ebx
call fcn.0046ab70
jmp 0x485e80
lea ecx, [esp + 0x18]
push 0x5f37d0
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x485e4d
mov edx, dword [esp + 0x1c]
push edx
call fcn.00591f13
add esp, 4
test eax, eax
setne al
movzx ecx, al
push ecx
mov esi, ebx
call fcn.0046ab20
jmp 0x485e80
lea edx, [esp + 0x18]
push 0x5f37c8
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x485e80
mov eax, dword [esp + 0x1c]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
setne cl
movzx edx, cl
push edx
mov esi, ebx
call fcn.0046e040
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.004875d0
test al, al
jne 0x485da2
lea ecx, [esp + 0x1c]
call fcn.00453f70
lea ecx, [esp + 0x18]
jmp 0x48753f
lea ecx, [esp + 0x1c]
call fcn.00453b50
lea ecx, [esp + 0x14]
mov dword [esp + 0x138], 0xe
call fcn.00453b50
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push eax
mov ecx, edi
mov byte [esp + 0x140], 0xf
call fcn.004875d0
test al, al
je 0x485fb2
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0x1c]
push str._fT_t
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x485f2f
mov edx, dword [esp + 0x14]
push edx
call fcn.00591f13
mov ecx, dword [ebx + 0x20]
add esp, 4
test eax, eax
setne al
mov byte [ebx + 0x78], al
push 0
movzx eax, al
push eax
push 0xf1
push ecx
call edi
jmp 0x485f97
lea edx, [esp + 0x1c]
push str._tgHe
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x485f64
mov eax, dword [esp + 0x14]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
setne cl
movzx edx, cl
push edx
mov esi, ebx
call fcn.0046ab70
jmp 0x485f97
lea eax, [esp + 0x1c]
push 0x5f37d0
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x485f97
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00591f13
add esp, 4
test eax, eax
setne dl
movzx eax, dl
push eax
mov esi, ebx
call fcn.0046ab20
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
call fcn.004875d0
test al, al
jne 0x485ef1
lea ecx, [esp + 0x14]
call fcn.00453f70
lea ecx, [esp + 0x1c]
jmp 0x48753f
lea ecx, [esp + 0x14]
call fcn.00453b50
lea ecx, [esp + 0x20]
mov dword [esp + 0x138], 0x10
call fcn.00453b50
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
mov byte [esp + 0x140], 0x11
call fcn.004875d0
test al, al
je 0x486048
mov edi, edi
lea edx, [esp + 0x14]
push str._tgHe
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x486033
mov eax, dword [esp + 0x20]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
setne cl
movzx edx, cl
push edx
mov esi, ebx
call fcn.0046ae00
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
call fcn.004875d0
test al, al
jne 0x486000
lea ecx, [esp + 0x20]
call fcn.00453f70
lea ecx, [esp + 0x14]
jmp 0x48753f
lea ecx, [esp + 0x24]
call fcn.00453b50
lea ecx, [esp + 0x14]
mov dword [esp + 0x138], 0x12
call fcn.00453b50
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, edi
mov byte [esp + 0x140], 0x13
call fcn.004875d0
test al, al
je 0x486118
jmp 0x4860a0
lea ecx, [esp + 0x24]
push str._tgHe
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x4860d5
mov edx, dword [esp + 0x14]
push edx
call fcn.00591f13
add esp, 4
test eax, eax
setne al
movzx ecx, al
push ecx
mov esi, ebx
call fcn.0046c9d0
jmp 0x486103
lea edx, [esp + 0x24]
push 0x5f3818
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x486103
mov eax, dword [esp + 0x14]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
setne cl
mov byte [ebx + 0x1e9], cl
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, edi
call fcn.004875d0
test al, al
jne 0x4860a0
lea ecx, [esp + 0x14]
call fcn.00453f70
lea ecx, [esp + 0x24]
jmp 0x48753f
lea ecx, [esp + 0x24]
call fcn.00453b50
lea ecx, [esp + 0x14]
mov dword [esp + 0x138], 0x14
call fcn.00453b50
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
push edx
mov ecx, edi
mov byte [esp + 0x140], 0x15
call fcn.004875d0
test al, al
je 0x486205
jmp 0x486170
lea eax, [esp + 0x24]
push 0x5f3838
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x4861b9
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00591f13
add esp, 4
push 0
mov ecx, ebx
test eax, eax
je 0x4861aa
push 4
push 0
call fcn.0048d69f
mov byte [ebx + 0x74], 1
jmp 0x4861ec
push 0
push 4
call fcn.0048d69f
mov byte [ebx + 0x74], 0
jmp 0x4861ec
lea edx, [esp + 0x24]
push str._tgHe
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x4861ec
mov eax, dword [esp + 0x14]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
setne cl
movzx edx, cl
push edx
mov esi, ebx
call fcn.0046ae00
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, edi
call fcn.004875d0
test al, al
jne 0x486170
lea ecx, [esp + 0x14]
call fcn.00453f70
lea ecx, [esp + 0x24]
jmp 0x48753f
lea ecx, [esp + 0x14]
call fcn.00453b50
lea ecx, [esp + 0x20]
mov dword [esp + 0x138], 0x16
call fcn.00453b50
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push eax
mov ecx, edi
mov byte [esp + 0x140], 0x17
call fcn.004875d0
test al, al
je 0x486299
lea ecx, [esp + 0x14]
push str._tgHe
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x486284
mov edx, dword [esp + 0x20]
push edx
call fcn.00591f13
add esp, 4
test eax, eax
setne al
movzx ecx, al
push ecx
mov esi, ebx
call fcn.0046aec0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call fcn.004875d0
test al, al
jne 0x486251
lea ecx, [esp + 0x20]
call fcn.00453f70
lea ecx, [esp + 0x14]
jmp 0x48753f
lea ecx, [esp + 0x24]
call fcn.00453b50
lea ecx, [esp + 0x14]
mov dword [esp + 0x138], 0x18
call fcn.00453b50
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
push edx
mov ecx, edi
mov byte [esp + 0x140], 0x19
call fcn.004875d0
test al, al
je 0x486385
lea esp, [esp]
lea eax, [esp + 0x24]
push 0x5f3838
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x486339
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00591f13
add esp, 4
push 0
mov ecx, ebx
test eax, eax
je 0x48632a
push 2
push 0
call fcn.0048d69f
mov byte [ebx + 0x78], 1
jmp 0x48636c
push 0
push 2
call fcn.0048d69f
mov byte [ebx + 0x78], 0
jmp 0x48636c
lea edx, [esp + 0x24]
push str._tgHe
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x48636c
mov eax, dword [esp + 0x14]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
setne cl
movzx edx, cl
push edx
mov esi, ebx
call fcn.0046e290
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, edi
call fcn.004875d0
test al, al
jne 0x4862f0
lea ecx, [esp + 0x14]
call fcn.00453f70
lea ecx, [esp + 0x24]
jmp 0x48753f
lea ecx, [esp + 0x14]
call fcn.00453b50
lea ecx, [esp + 0x20]
mov dword [esp + 0x138], 0x1a
call fcn.00453b50
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push eax
mov ecx, edi
mov byte [esp + 0x140], 0x1b
call fcn.004875d0
test al, al
je 0x486048
lea ecx, [esp + 0x14]
push 0x5f4168
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x48647f
call fcn.0048a293
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4864ac
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
mov byte [esp + 0x138], 0x1c
mov ecx, dword [esp + 0x20]
mov edx, dword [0x62d3c0]
push ecx
push edx
lea eax, [esp + 0x30]
push 0x5f2078
push eax
call fcn.00453640
mov esi, dword [esp + 0x38]
add esp, 0xc
add esi, 0xfffffff0
mov dword [esp + 0xc0], esp
mov edi, esp
push esi
call fcn.00453e70
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov edi, ebx
call fcn.0046ce90
mov byte [esp + 0x138], 0x1b
lea ecx, [esi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x48647f
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push esi
call edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.004875d0
test al, al
jne 0x4863d5
lea ecx, [esp + 0x20]
call fcn.00453f70
lea ecx, [esp + 0x14]
jmp 0x48753f
push 0x80004005
call fcn.00453e40
lea ecx, [esp + 0x24]
call fcn.00453b50
lea ecx, [esp + 0x14]
mov dword [esp + 0x138], 0x1d
call fcn.00453b50
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, edi
mov byte [esp + 0x140], 0x1e
call fcn.004875d0
test al, al
je 0x48658c
lea ecx, [esp + 0x24]
push str.Om_j
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x486540
mov edx, dword [esp + 0x14]
push edx
call fcn.00591f13
add esp, 4
mov ecx, ebx
cmp eax, 2
jne 0x48652f
push 0
push 0
mov dword [ebx + 0xc0], eax
call fcn.0048f5a5
jmp 0x486573
mov dword [ebx + 0xc0], 3
call fcn.0048f2fd
jmp 0x486573
lea eax, [esp + 0x24]
push str._tgHe
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x486573
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00591f13
add esp, 4
test eax, eax
setne dl
movzx eax, dl
push eax
mov esi, ebx
call fcn.0046cc30
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
push edx
mov ecx, edi
call fcn.004875d0
test al, al
jne 0x4864f4
lea ecx, [esp + 0x14]
call fcn.00453f70
lea ecx, [esp + 0x24]
jmp 0x48753f
lea ecx, [esp + 0x14]
call fcn.00453b50
lea ecx, [esp + 0x20]
mov dword [esp + 0x138], 0x1f
call fcn.00453b50
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
mov byte [esp + 0x140], 0x20
call fcn.004875d0
test al, al
je 0x486637
mov edi, dword [sym.imp.USER32.dll_SetTimer]
mov edi, edi
lea edx, [esp + 0x14]
push 0x5f4174
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x486620
mov eax, dword [esp + 0x20]
push eax
call fcn.00591f13
mov esi, eax
add esp, 4
test esi, esi
je 0x486620
mov ecx, dword [ebx + 0x20]
push 0
push esi
push 1
push ecx
call edi
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x80], esi
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x18]
push eax
call fcn.004875d0
test al, al
jne 0x4865e0
lea ecx, [esp + 0x20]
call fcn.00453f70
lea ecx, [esp + 0x14]
jmp 0x48753f
lea ecx, [esp + 0x24]
call fcn.00453b50
lea ecx, [esp + 0x14]
mov dword [esp + 0x138], 0x21
call fcn.00453b50
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
push edx
mov ecx, edi
mov byte [esp + 0x140], 0x22
call fcn.004875d0
test al, al
je 0x486734
jmp 0x486690
lea eax, [esp + 0x24]
push 0x5f417c
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x4866bc
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00591f13
add esp, 4
mov word [ebx + 0x82], ax
jmp 0x48671b
lea edx, [esp + 0x24]
push 0x5f4188
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x4866e8
mov eax, dword [esp + 0x14]
push eax
call fcn.00591f13
add esp, 4
mov word [ebx + 0x84], ax
jmp 0x48671b
lea ecx, [esp + 0x24]
push str._tgHe
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x48671b
mov edx, dword [esp + 0x14]
push edx
call fcn.00591f13
add esp, 4
test eax, eax
setne al
movzx ecx, al
push ecx
mov esi, ebx
call fcn.0046c6d0
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push eax
mov ecx, edi
call fcn.004875d0
test al, al
jne 0x486690
lea ecx, [esp + 0x14]
call fcn.00453f70
lea ecx, [esp + 0x24]
jmp 0x48753f
lea ecx, [esp + 0x14]
call fcn.00453b50
lea ecx, [esp + 0x20]
mov dword [esp + 0x138], 0x23
call fcn.00453b50
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push edx
mov ecx, edi
mov byte [esp + 0x140], 0x24
call fcn.004875d0
test al, al
je 0x4867c8
lea eax, [esp + 0x14]
push 0x5f4190
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x4867b3
mov esi, dword [esp + 0x20]
mov ecx, ebx
call fcn.004841a0
push 0
push 0
push 0
push 0
push 0
push esi
mov ecx, ebx
call fcn.004aca11
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push edx
mov ecx, edi
call fcn.004875d0
test al, al
jne 0x486780
lea ecx, [esp + 0x20]
call fcn.00453f70
lea ecx, [esp + 0x14]
jmp 0x48753f
lea ecx, [esp + 0x18]
call fcn.00453b50
lea ecx, [esp + 0x10]
mov dword [esp + 0x138], 0x25
call fcn.00453b50
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
mov byte [esp + 0x140], 0x26
call fcn.004875d0
test al, al
je 0x48745b
jmp 0x486820
lea edx, [esp + 0x18]
push 0x5f4198
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x48684f
mov eax, dword [esp + 0x10]
push eax
call fcn.00591f13
add esp, 4
push eax
push ebx
call fcn.0045e2c0
jmp 0x487440
lea ecx, [esp + 0x18]
push 0x5f41a0
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x48687e
mov edx, dword [esp + 0x10]
push edx
call fcn.00591f13
add esp, 4
push eax
push ebx
call fcn.0045e600
jmp 0x487440
lea eax, [esp + 0x18]
push 0x5f41a8
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x4868ae
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00591f13
add esp, 4
push eax
mov edi, ebx
call fcn.0045ddf0
jmp 0x487440
lea edx, [esp + 0x18]
push 0x5f41b4
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x4868de
mov eax, dword [esp + 0x10]
push eax
call fcn.00591f13
add esp, 4
push eax
mov edi, ebx
call fcn.0045e040
jmp 0x487440
lea ecx, [esp + 0x18]
push 0x5f3760
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x48691d
push 0
xor eax, eax
mov ecx, ebx
call fcn.0044ec80
mov edx, dword [esp + 0x10]
mov edi, eax
mov esi, dword [edi]
push edx
call fcn.00591f13
add esp, 4
push eax
mov eax, dword [esi + 0x20]
mov ecx, edi
call eax
jmp 0x487440
lea ecx, [esp + 0x18]
push 0x5ee4c8
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x48695c
push 0
xor eax, eax
mov ecx, ebx
call fcn.0044ec80
mov edx, dword [esp + 0x10]
mov edi, eax
mov esi, dword [edi]
push edx
call fcn.00591f13
add esp, 4
push eax
mov eax, dword [esi + 0x24]
mov ecx, edi
call eax
jmp 0x487440
lea ecx, [esp + 0x18]
push 0x5f41c0
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x48698d
mov edx, dword [esp + 0x10]
push edx
call fcn.00591f13
add esp, 4
mov esi, eax
mov edi, ebx
call fcn.004840e0
jmp 0x487440
lea eax, [esp + 0x18]
push 0x5f41d0
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x4869be
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00591f13
add esp, 4
mov edi, eax
mov esi, ebx
call fcn.0044ec30
jmp 0x487440
lea edx, [esp + 0x18]
push str.4lsQ
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x486a67
mov eax, dword [esp + 0x10]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
je 0x486a05
mov eax, ebx
call fcn.00460740
test al, al
je 0x486a05
mov ecx, 3
mov eax, ebx
call fcn.00460710
jmp 0x487440
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00591f13
add esp, 4
test eax, eax
je 0x486a32
mov eax, ebx
call fcn.00460740
test al, al
jne 0x486a32
mov ecx, 1
mov eax, ebx
call fcn.00460710
jmp 0x487440
mov edx, dword [esp + 0x10]
push edx
call fcn.00591f13
add esp, 4
test eax, eax
jne 0x486b08
mov eax, ebx
call fcn.00460740
test al, al
je 0x486b08
mov ecx, 2
mov eax, ebx
call fcn.00460710
jmp 0x487440
lea eax, [esp + 0x18]
push 0x5f41ec
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x486b16
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00591f13
add esp, 4
test eax, eax
je 0x486aae
mov eax, ebx
call fcn.00460770
test al, al
je 0x486aae
mov ecx, 3
mov eax, ebx
call fcn.00460710
jmp 0x487440
mov edx, dword [esp + 0x10]
push edx
call fcn.00591f13
add esp, 4
test eax, eax
je 0x486adb
mov eax, ebx
call fcn.00460770
test al, al
jne 0x486adb
mov ecx, 2
mov eax, ebx
call fcn.00460710
jmp 0x487440
mov eax, dword [esp + 0x10]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
jne 0x486b08
mov eax, ebx
call fcn.00460770
test al, al
je 0x486b08
mov ecx, 1
mov eax, ebx
call fcn.00460710
jmp 0x487440
xor ecx, ecx
mov eax, ebx
call fcn.00460710
jmp 0x487440
lea ecx, [esp + 0x18]
push 0x5f41f8
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x486b44
mov edx, dword [esp + 0x10]
push edx
call fcn.00591f13
add esp, 4
mov dword [ebx + 0xbc], eax
jmp 0x487440
lea eax, [esp + 0x18]
push 0x5f4200
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x486b72
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00591f13
add esp, 4
mov dword [ebx + 0xe4], eax
jmp 0x487440
lea edx, [esp + 0x18]
push str.kXEQ
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x486bfe
mov eax, dword [esp + 0x10]
push eax
call fcn.00591f13
add esp, 4
test eax, eax
je 0x486bb4
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00591f13
mov edi, eax
add esp, 4
mov eax, ebx
call fcn.004606d0
jmp 0x487440
xor esi, esi
cmp dword [ebx + 0x120], esi
jle 0x487440
test esi, esi
js 0x486bf0
cmp esi, dword [ebx + 0x120]
jge 0x486bf0
cmp esi, dword [ebx + 0x138]
jge 0x487497
mov edx, dword [ebx + 0x134]
lea eax, [edx + esi*4]
mov ecx, ebx
mov dword [eax], 0x19
call fcn.0045d630
inc esi
cmp esi, dword [ebx + 0x120]
jl 0x486bc2
jmp 0x487440
lea eax, [esp + 0x18]
push 0x5f37c0
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x486c2e
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00591f13
add esp, 4
push eax
mov edi, ebx
call fcn.00484120
jmp 0x487440
lea edx, [esp + 0x18]
push 0x5f4210
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x486c5c
mov eax, dword [esp + 0x10]
push eax
call fcn.00591f13
add esp, 4
mov dword [ebx + 0xdc], eax
jmp 0x487440
lea ecx, [esp + 0x18]
push 0x5f421c
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x486c8a
mov edx, dword [esp + 0x10]
push edx
call fcn.00591f13
add esp, 4
mov dword [ebx + 0xe0], eax
jmp 0x487440
lea eax, [esp + 0x18]
push 0x5f4228
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x486cbc
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00591f13
add esp, 4
push eax
call fcn.004607a0
mov ebx, dword [esp + 0x28]
jmp 0x487440
lea edx, [esp + 0x18]
push str.W_SO
push edx
call fcn.00453500
add esp, 8
test al, al
je 0x4870b9
lea ecx, [esp + 0x10]
call fcn.00452fb0
mov ecx, eax
call fcn.00453030
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.00488f30
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], 0
jg 0x486d02
or esi, 0xffffffff
jmp 0x486d1e
push 0x2c
push eax
call fcn.005920d0
add esp, 8
test eax, eax
jne 0x486d16
or esi, 0xffffffff
jmp 0x486d1e
sub eax, dword [esp + 0x10]
sar eax, 1
mov esi, eax
xor edi, edi
lea ecx, [esp + 0x10]
call fcn.00452fb0
mov ecx, eax
call fcn.00453030
test edi, edi
jne 0x486d5b
push esi
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov dword [esp + 0xc8], eax
lea ecx, [esp + 0x48]
jmp 0x486f84
cmp edi, 1
jne 0x486d87
push esi
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov dword [esp + 0xcc], eax
lea ecx, [esp + 0x50]
jmp 0x486f84
cmp edi, 2
jne 0x486db3
push esi
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov dword [esp + 0xd0], eax
lea ecx, [esp + 0x58]
jmp 0x486f84
cmp edi, 3
jne 0x486ddf
push esi
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov dword [esp + 0xd4], eax
lea ecx, [esp + 0x60]
jmp 0x486f84
cmp edi, 4
jne 0x486e0b
push esi
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov dword [esp + 0xd8], eax
lea ecx, [esp + 0x68]
jmp 0x486f84
cmp edi, 5
jne 0x486e37
push esi
lea edx, [esp + 0x70]
push edx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xdc], al
lea ecx, [esp + 0x70]
jmp 0x486f84
cmp edi, 6
jne 0x486e63
push esi
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xdd], al
lea ecx, [esp + 0x78]
jmp 0x486f84
cmp edi, 7
jne 0x486e95
push esi
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xde], al
lea ecx, [esp + 0x80]
jmp 0x486f84
cmp edi, 8
jne 0x486ec7
push esi
lea edx, [esp + 0x88]
push edx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xdf], al
lea ecx, [esp + 0x88]
jmp 0x486f84
cmp edi, 9
jne 0x486ef9
push esi
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xe0], al
lea ecx, [esp + 0x90]
jmp 0x486f84
cmp edi, 0xa
jne 0x486f28
push esi
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xe1], al
lea ecx, [esp + 0x98]
jmp 0x486f84
cmp edi, 0xb
jne 0x486f57
push esi
lea edx, [esp + 0xa0]
push edx
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xe2], al
lea ecx, [esp + 0xa0]
jmp 0x486f84
cmp edi, 0xc
jne 0x486f8c
push esi
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
call fcn.00591f13
mov byte [esp + 0xe3], al
lea ecx, [esp + 0xa8]
add esp, 4
call fcn.00453f70
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 0xc]
sub eax, esi
dec eax
push eax
lea edx, [esp + 0xb0]
push edx
lea ecx, [esp + 0x18]
call fcn.00483ed0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x13c], 0x27
call fcn.00453ee0
lea ecx, [esp + 0xac]
mov byte [esp + 0x138], 0x26
call fcn.00453f70
mov ecx, dword [esp + 0x10]
cmp dword [ecx - 0xc], 0
jg 0x486fdd
or esi, 0xffffffff
jmp 0x486ffb
push 0x2c
push ecx
call fcn.005920d0
mov ecx, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x486ff5
or esi, 0xffffffff
jmp 0x486ffb
sub eax, ecx
sar eax, 1
mov esi, eax
inc edi
cmp edi, 0xd
jl 0x486d20
cmp dword [ecx - 0xc], 0
jg 0x487010
or eax, 0xffffffff
jmp 0x48702a
push 0x29
push ecx
call fcn.005920d0
add esp, 8
test eax, eax
jne 0x487024
or eax, 0xffffffff
jmp 0x48702a
sub eax, dword [esp + 0x10]
sar eax, 1
push eax
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x18]
call fcn.00456700
mov eax, dword [eax]
push eax
lea ecx, [esp + 0xe4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [esp + 0xb4]
call fcn.00453f70
push 8
call fcn.004896de
add esp, 4
test eax, eax
je 0x487078
mov dword [eax + 4], 0
mov dword [eax], vtable.CFont.0
mov edi, eax
jmp 0x48707a
xor edi, edi
lea edx, [esp + 0xc4]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push eax
mov ecx, edi
call fcn.0048c6ba
push 1
push edi
mov ecx, ebx
call fcn.00453460
mov esi, ebx
call fcn.004600c0
test edi, edi
je 0x487440
mov eax, dword [edi]
mov edx, dword [eax + 4]
push 1
mov ecx, edi
call edx
jmp 0x487440
lea eax, [esp + 0x18]
push 0x5f4234
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x487440
xor esi, esi
cmp dword [ebx + 0x128], esi
jle 0x487440
lea ecx, [esp + 0x20]
call fcn.00453b50
lea ecx, [esp + 0x20]
push ecx
lea edi, [esp + 0x14]
mov byte [esp + 0x13c], 0x28
call fcn.00488910
test al, al
je 0x48742f
lea ecx, [esp + 0x14]
call fcn.00453b50
lea ecx, [esp + 0x1c]
call fcn.00453b50
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
lea edi, [esp + 0x28]
mov byte [esp + 0x140], 0x2a
call fcn.00488a50
test al, al
je 0x4873fd
lea ecx, [ecx]
lea ecx, [esp + 0x14]
push 0x5f423c
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x48719c
lea ecx, [esp + 0x1c]
call fcn.00452fb0
mov ecx, eax
call fcn.00453030
push 1
push 0
lea ecx, [esp + 0x24]
call fcn.00488f30
mov edx, dword [esp + 0x1c]
mov eax, dword [edx - 0xc]
push 1
dec eax
push eax
lea ecx, [esp + 0x24]
call fcn.00488f30
mov eax, dword [esp + 0x1c]
push eax
mov eax, esi
xor edi, edi
mov ecx, ebx
call fcn.0045f9d0
jmp 0x4873e2
lea ecx, [esp + 0x14]
push 0x5f4244
push ecx
call fcn.00453500
add esp, 8
test al, al
je 0x4871cf
mov edx, dword [esp + 0x1c]
push edx
call fcn.00591f13
mov edx, eax
add esp, 4
mov eax, esi
mov ecx, ebx
call fcn.0045fca0
jmp 0x4873e2
lea eax, [esp + 0x14]
push 0x5f424c
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x487359
xor edi, edi
cmp dword [ebx + 0x120], edi
jle 0x4873e2
jmp 0x487200
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00591f13
add esp, 4
push eax
mov eax, esi
mov ecx, ebx
call fcn.0045fa20
mov edx, dword [esp + 0x1c]
push edx
call fcn.00591f13
add esp, 4
cmp eax, 5
ja case.default.0x48722d
jmp dword [eax*4 + 0x4875b4]
push edi
push ebx
mov eax, 0x5eea38
mov ecx, esi
call fcn.0045ec80
jmp case.default.0x48722d
cmp edi, dword [ebx + 0x124]
jl case.default.0x48722d
cmp esi, dword [ebx + 0x12c]
jl case.default.0x48722d
push edi
push ebx
mov eax, 0x5efb18
mov ecx, esi
call fcn.0045ec80
jmp case.default.0x48722d
cmp edi, dword [ebx + 0x124]
jl case.default.0x48722d
cmp esi, dword [ebx + 0x12c]
jl case.default.0x48722d
push edi
push ebx
mov eax, 0x5eea38
mov ecx, esi
call fcn.0045ec80
push ebx
mov eax, esi
mov ecx, edi
call fcn.0045fb40
or eax, 8
push eax
push esi
push edi
push ebx
call fcn.0045fa70
jmp case.default.0x48722d
cmp edi, dword [ebx + 0x124]
jl case.default.0x48722d
cmp esi, dword [ebx + 0x12c]
jl case.default.0x48722d
push edi
push ebx
mov eax, 0x5ef8d4
mov ecx, esi
call fcn.0045ec80
jmp case.default.0x48722d
cmp edi, dword [ebx + 0x124]
jl case.default.0x48722d
cmp esi, dword [ebx + 0x12c]
jl case.default.0x48722d
push edi
push ebx
mov eax, 0x5f0244
mov ecx, esi
call fcn.0045ec80
jmp case.default.0x48722d
cmp edi, dword [ebx + 0x124]
jl case.default.0x48722d
cmp esi, dword [ebx + 0x12c]
jl case.default.0x48722d
push edi
push ebx
mov eax, 0x5eff24
mov ecx, esi
call fcn.0045ec80
push esi
push edi
mov ecx, ebx
call fcn.00457090
push 0
mov ebx, eax
call fcn.0059242b
add esp, 4
push edx
push eax
call fcn.004695d0
mov ecx, dword [esp + 0x28]
push 0
push esi
mov edx, edi
call fcn.0045a830
mov ebx, dword [esp + 0x28]
inc edi
cmp edi, dword [ebx + 0x120]
jl 0x487200
jmp 0x4873e2
lea eax, [esp + 0x14]
push 0x5f3774
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x4873e2
xor edi, edi
cmp dword [ebx + 0x120], edi
jle 0x4873e2
lea esp, [esp]
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00591f13
add esp, 4
test eax, eax
je 0x4873d9
push edi
push ebx
mov eax, 0x5eea38
mov ecx, esi
call fcn.0045ec80
push ebx
mov eax, esi
mov ecx, edi
call fcn.0045fb40
and eax, 0xfffffff7
push eax
push esi
push edi
push ebx
call fcn.0045fa70
push ebx
mov eax, esi
mov ecx, edi
call fcn.0045fb40
or eax, 8
push eax
push esi
push edi
push ebx
call fcn.0045fa70
mov edx, dword [ebx + 0x20]
push 1
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
inc edi
cmp edi, dword [ebx + 0x120]
jl 0x487380
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edi, [esp + 0x28]
call fcn.00488a50
test al, al
jne 0x487140
lea ecx, [esp + 0x1c]
call fcn.00453f70
lea ecx, [esp + 0x14]
call fcn.00453f70
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 0x26
call fcn.00453f70
inc esi
cmp esi, dword [ebx + 0x128]
jl 0x4870e1
jmp 0x487440
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 0x26
call fcn.00453f70
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004875d0
test al, al
jne 0x486820
mov byte [esp + 0x138], 0x25
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x487483
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x138], 0xffffffff
mov eax, dword [esp + 0x18]
jmp 0x485409
call fcn.0048a0e3
lea ecx, [esp + 0x20]
call fcn.00453b50
lea ecx, [esp + 0x14]
mov dword [esp + 0x138], 0x2b
call fcn.00453b50
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x24]
push edx
mov ecx, edi
mov byte [esp + 0x140], 0x2c
call fcn.004875d0
test al, al
je 0x487532
lea eax, [esp + 0x20]
push str._tgHe
push eax
call fcn.00453500
add esp, 8
test al, al
je 0x48750b
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00591f13
add esp, 4
test eax, eax
setne dl
movzx eax, dl
push eax
mov esi, ebx
call fcn.0046ede0
jmp 0x48751d
lea ecx, [esp + 0x20]
push 0x5f4254
push ecx
call fcn.00453500
add esp, 8
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x24]
push eax
mov ecx, edi
call fcn.004875d0
test al, al
jne 0x4874d6
lea ecx, [esp + 0x14]
call fcn.00453f70
lea ecx, [esp + 0x20]
call fcn.00453f70
mov ecx, dword [esp + 0x130]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005909d4
mov esp, ebp
pop ebp
ret 8