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

Disassembly:
push 0xffffffffffffffff
push 0x540328
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x3c]
call fcn.00470b30
xor ebp, ebp
lea eax, [esp + 0x3c]
push ebp
push ebp
push ebp
push eax
mov ecx, esi
mov dword [esp + 0x90], ebp
call fcn.0047a540
mov edi, dword [esp + 0x88]
cmp edi, 0x1010023
jne 0x4a0365
mov ecx, dword [esi + 0x80]
or edi, 0xffffffff
mov dword [esi + 0x7c], ecx
lea ecx, [esi + 0xa4]
mov dword [esi + 0x9c], edi
mov dword [esi + 0x98], edi
mov dword [esi + 0x94], edi
mov dword [esi + 0x90], edi
mov dword [esi + 0xa0], ebp
call fcn.00470d30
lea ecx, [esi + 0xb8]
call fcn.00470d30
push 0x7fffffff
push ebp
mov ecx, esi
call fcn.004a4360
mov edx, dword [esi + 0x1c]
push ebp
push ebp
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [esi + 0x1c]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov dword [esp + 0x80], edi
mov dword [esp + 0x3c], 0x5477b0
jmp 0x4a14fd
xor ecx, ecx
mov eax, 0x58869c
mov dword [esp + 0x14], ecx
mov ebx, 4
cmp edi, dword [eax]
je 0x4a0384
add eax, ebx
cmp eax, 0x5886b4
jl 0x4a0375
jmp 0x4a038d
mov ecx, 1
mov dword [esp + 0x14], ecx
cmp ecx, ebp
mov dword [esp + 0x10], ebp
jne 0x4a04b0
cmp edi, 0x101001b
je 0x4a03cd
cmp edi, 0x101001c
je 0x4a03cd
mov eax, 0x5886b4
cmp edi, dword [eax]
je 0x4a03c0
add eax, ebx
cmp eax, 0x5886cc
jl 0x4a03ae
jmp 0x4a0535
mov dword [esp + 0x10], 1
jmp 0x4a0497
mov ecx, dword [0x58f614]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 1
call fcn.005135f0
lea edx, [esp + 0x3c]
lea eax, [esp + 0x64]
push edx
mov edx, dword [esi + 0x78]
push ebp
lea ecx, [esp + 0x20]
push eax
mov eax, dword [esi + 0x74]
push ecx
push edx
push eax
mov ecx, esi
mov byte [esp + 0x98], 2
call fcn.00493c70
cmp eax, ebp
je 0x4a046a
mov edx, dword [esi + 0x80]
lea ecx, [esp + 0x64]
push ecx
push eax
lea eax, [esp + 0x34]
push edx
push eax
mov ecx, esi
call fcn.004944b0
mov ecx, dword [eax]
cmp edi, 0x101001b
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
jne 0x4a0446
xor edx, edx
cmp eax, ebp
sete dl
jmp 0x4a0452
mov ecx, dword [esp + 0x6c]
xor edx, edx
dec ecx
cmp eax, ecx
setge dl
mov eax, edx
cmp eax, ebp
je 0x4a0462
mov dword [esp + 0x14], 1
jmp 0x4a046a
mov dword [esp + 0x10], 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 1
call fcn.00513623
lea ecx, [esp + 0x18]
mov byte [esp + 0x80], 0
call fcn.00514336
cmp dword [esp + 0x10], 1
jne 0x4a052b
cmp dword [esi + 0x90], 0xffffffff
je 0x4a052b
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ebp
mov ecx, dword [esi + 0x90]
or eax, 0xffffffff
cmp ecx, eax
je 0x4a04da
cmp dword [esi + 0x98], eax
je 0x4a0597
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x9c]
cmp eax, ecx
je 0x4a0597
lea edi, [esi + 0xa4]
or eax, 0xffffffff
mov ecx, edi
mov dword [esi + 0x9c], eax
mov dword [esi + 0x98], eax
mov dword [esi + 0x94], eax
mov dword [esi + 0x90], eax
mov dword [esi + 0xa0], ebp
call fcn.00470d30
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x78]
mov dword [esi + 0x90], ecx
mov dword [esi + 0x94], edx
mov dword [edi + 0x10], ebp
mov eax, dword [esi + 0xc8]
cmp eax, ebp
jne 0x4a0578
xor ecx, ecx
jmp 0x4a057e
cmp dword [esp + 0x14], ebp
jne 0x4a04b0
xor ecx, ecx
mov eax, 0x588660
cmp edi, dword [eax]
je 0x4a054a
add eax, ebx
inc ecx
cmp eax, 0x58869c
jl 0x4a053c
cmp ecx, 0xf
jne 0x4a0569
mov edx, dword [esp + 0x10]
xor eax, eax
cmp edx, ebp
push 1
sete al
lea ecx, [esp + 0x40]
push eax
push ecx
mov ecx, esi
call fcn.004a4060
cmp dword [esp + 0x10], ebp
je 0x4a0597
mov edx, dword [esi + 0x7c]
mov dword [esp + 0x2c], edx
jmp 0x4a0597
mov ecx, dword [esi + 0xc0]
push eax
push ecx
mov ecx, edi
call fcn.004713f0
mov eax, dword [esi + 0x7c]
mov edi, dword [esp + 0x88]
mov dword [esi + 0xa0], eax
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x78]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x1c], edx
call fcn.00470b30
mov eax, dword [esi + 0x5c]
mov byte [esp + 0x80], 3
cmp dword [eax + 0x2d8], 1
je 0x4a05d9
cmp dword [eax + 0x2d4], ebp
jne 0x4a05d9
mov eax, dword [esi]
lea ecx, [esp + 0x50]
push ecx
mov ecx, esi
call dword [eax + 0xd0]
lea eax, [edi - 0x1010001]
cmp eax, 0x41
ja case.0x4a05f0.16842786
xor edx, edx
mov dl, byte [eax + 0x4a15e0]
jmp dword [edx*4 + 0x4a1558]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
push ebp
push 1
push ebp
push eax
push ecx
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1344
cmp dword [esi + 0x90], 0xffffffff
je case.0x4a05f0.16842753
mov eax, dword [esi + 0x98]
cmp eax, 0xffffffff
je case.0x4a05f0.16842753
cmp eax, dword [esi + 0x74]
jne case.0x4a05f0.16842753
mov ecx, esi
call fcn.004a92c0
mov ecx, dword [esi + 0x74]
dec eax
cmp ecx, eax
je 0x4a1332
cmp edi, 0x1010001
je 0x4a0726
cmp edi, 0x101001b
je 0x4a0726
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004a92c0
dec eax
cmp edi, eax
jne 0x4a071f
cmp dword [esp + 0x88], 0x1010002
jne 0x4a1332
push ebp
push ebp
push ebp
lea edx, [esp + 0x2c]
push ebp
lea eax, [esp + 0xa4]
push edx
push eax
push ebp
push ebp
push edi
mov ecx, esi
call fcn.0047bf10
cmp eax, 0xd
jne 0x4a1332
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0xc8], ebp
jne 0x4a06b6
xor edx, edx
jmp 0x4a06bc
mov edx, dword [ecx + 0xc0]
cmp dword [ecx + 0x64], ebp
jne 0x4a06c5
xor eax, eax
jmp 0x4a06c8
mov eax, dword [ecx + 0x5c]
mov edi, dword [esp + 0x20]
mov eax, dword [eax + edi*4]
lea edi, [eax + edx]
push edi
call fcn.004ca8d0
cmp eax, 1
jne 0x4a1332
cmp byte [edi], 0x6a
jne 0x4a06f6
lea ecx, [edi + 1]
call fcn.004c79d0
test eax, eax
jne 0x4a1332
mov edx, dword [esi]
push ebp
push ebp
push 2
push 0x2020002
mov ecx, esi
call dword [edx + 0xe0]
mov eax, dword [esi + 0x74]
push ebp
push 1
push ebp
inc eax
push ebp
push eax
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1332
mov edi, 1
jmp 0x4a0732
cmp dword [esi + 0x74], ebp
je 0x4a1332
or edi, 0xffffffff
mov ecx, dword [0x58f614]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], bl
call fcn.005135f0
lea edx, [esp + 0x3c]
lea eax, [esp + 0x64]
push edx
mov edx, dword [esi + 0x78]
push ebp
lea ecx, [esp + 0x98]
push eax
mov eax, dword [esi + 0x74]
push ecx
push edx
push eax
mov ecx, esi
mov byte [esp + 0x98], 5
call fcn.00493c70
cmp eax, ebp
je 0x4a07f6
mov edx, dword [esi + 0x80]
lea ecx, [esp + 0x64]
push ecx
push eax
lea eax, [esp + 0x3c]
push edx
push eax
mov ecx, esi
call fcn.004944b0
mov ecx, dword [eax]
cmp edi, 0xffffffff
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
jne 0x4a07e4
cmp eax, ebp
jle 0x4a07f6
lea edx, [esp + 0x3c]
dec eax
push edx
push ecx
push eax
mov ecx, esi
call fcn.00493da0
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], bl
call fcn.00513623
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00514336
jmp 0x4a1332
mov edx, dword [esp + 0x6c]
dec edx
cmp eax, edx
jge 0x4a07f6
lea edx, [esp + 0x3c]
inc eax
push edx
push ecx
jmp 0x4a07b3
lea eax, [esp + 0x24]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, esi
call fcn.004942b0
mov ecx, dword [esi + 0x74]
mov eax, dword [esi + 0x78]
push ebp
lea edx, [esp + 0x40]
push 1
push edx
add ecx, edi
push eax
push ecx
mov ecx, esi
call fcn.004a30b0
push 1
push ebp
push ebp
mov ecx, esi
call fcn.004a3ae0
test eax, eax
je 0x4a083e
push ebp
push ebp
lea edx, [esp + 0x44]
push ebp
push edx
mov ecx, esi
call fcn.0047a540
mov edx, dword [esp + 0x24]
xor ecx, ecx
cmp edi, 0xffffffff
lea eax, [esp + 0x3c]
setne cl
push eax
push ecx
push edx
mov ecx, esi
call fcn.0049dc70
jmp 0x4a07bb
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
push ebp
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1332
mov ecx, esi
call fcn.004a92c0
mov edi, eax
push ebp
dec edi
mov ecx, esi
push edi
call fcn.004972b0
cmp eax, 0xffffffff
je 0x4a08a5
push eax
mov ecx, esi
call fcn.004a3fe0
push ebp
push 1
push ebp
push ebp
push edi
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1332
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
push ebp
push edi
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1332
mov eax, dword [esi + 0x74]
push ebp
lea edx, [esp + 0x40]
push 1
push edx
push ebp
push eax
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1332
mov edx, dword [esi + 0x74]
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
push 0x7fffffff
push edx
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1332
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a0912
mov edx, dword [esi + 0x74]
push ebp
lea ecx, [esp + 0x40]
push 1
dec eax
push ecx
push eax
push edx
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1332
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a1332
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
dec eax
push 0x7fffffff
push eax
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1332
mov edx, dword [0x58f614]
mov dword [esp + 0x90], edx
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x94]
push eax
mov eax, dword [esi + 0x78]
push ecx
mov ecx, dword [esi + 0x74]
lea edx, [esp + 0x98]
push ebp
push edx
push eax
push ecx
mov ecx, esi
mov byte [esp + 0x98], 6
call fcn.00493c70
cmp eax, ebp
je 0x4a0a14
mov eax, dword [esi + 0x80]
mov ecx, dword [esp + 0x94]
cmp eax, ecx
jg 0x4a0a03
cmp edi, 0x101003c
jne 0x4a09ac
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00514336
jmp 0x4a1332
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a09d7
push ebp
lea edx, [esp + 0x40]
push 1
dec eax
push edx
push eax
mov eax, dword [esi + 0x74]
mov ecx, esi
push eax
call fcn.004a30b0
lea ecx, [esp + 0x3c]
push 1
push ecx
push ebp
push 0x7fffffff
jmp 0x4a0a0d
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a0a14
push ebp
lea edx, [esp + 0x40]
push 1
push edx
dec eax
push 0x7fffffff
push eax
mov ecx, esi
call fcn.004a30b0
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push 0x7fffffff
jmp 0x4a0a0d
lea ecx, [esp + 0x3c]
push 1
push ecx
dec eax
push ebp
push eax
mov ecx, esi
call fcn.00494050
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00514336
jmp 0x4a1332
mov edx, dword [0x58f614]
mov dword [esp + 0x90], edx
mov edx, dword [esi + 0x78]
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esi + 0x74]
push ebp
lea ecx, [esp + 0x98]
push ebp
push ecx
push edx
push eax
mov ecx, esi
mov byte [esp + 0x98], 7
call fcn.00493c70
cmp eax, ebp
je 0x4a0b30
mov ecx, dword [esp + 0x90]
mov eax, dword [esi + 0x80]
mov ecx, dword [ecx - 8]
cmp eax, ecx
jne 0x4a0b20
cmp dword [esp + 0x88], 0x101003d
jne 0x4a0aa6
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00514336
jmp 0x4a1332
mov eax, dword [esi + 0x74]
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0xac]
push ebp
push edx
push eax
mov ecx, esi
mov dword [esp + 0xb8], ebp
call fcn.0047bf10
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x78]
dec ecx
cmp eax, ecx
jge 0x4a0af5
push ebp
lea edx, [esp + 0x40]
push 1
inc eax
push edx
push eax
mov eax, dword [esi + 0x74]
mov ecx, esi
push eax
call fcn.004a30b0
lea ecx, [esp + 0x3c]
push ebp
push ecx
push ebp
push ebp
jmp 0x4a0b29
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004a92c0
dec eax
cmp edi, eax
jge 0x4a0b30
push ebp
lea edx, [esp + 0x40]
push 1
push edx
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004a30b0
lea eax, [esp + 0x3c]
push ebp
push eax
push ebp
push ebp
jmp 0x4a0b29
lea ecx, [esp + 0x3c]
push ebp
push ecx
inc eax
push ebp
push eax
mov ecx, esi
call fcn.00494050
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00514336
jmp 0x4a1332
lea edx, [esp + 0x3c]
push 1
push edx
push ebp
push ebp
mov ecx, esi
call fcn.00494050
jmp 0x4a1332
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push 0x7fffffff
mov ecx, esi
call fcn.00494050
jmp 0x4a1332
push ebp
lea ecx, [esp + 0x28]
push ebp
push ecx
mov ecx, dword [esi + 0x74]
lea edx, [esp + 0x9c]
push ebp
lea eax, [esp + 0xa4]
push edx
push eax
push ebp
push ebp
push ecx
mov ecx, esi
call fcn.0047bf10
cmp eax, 0xd
jne 0x4a1332
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0xc8], ebp
jne 0x4a0bb8
xor edx, edx
jmp 0x4a0bbe
mov edx, dword [ecx + 0xc0]
cmp dword [ecx + 0x64], ebp
jne 0x4a0bc7
xor eax, eax
jmp 0x4a0bca
mov eax, dword [ecx + 0x5c]
mov edi, dword [esp + 0x90]
mov eax, dword [eax + edi*4]
add eax, edx
push eax
call fcn.004ca8d0
test al, 2
je 0x4a1332
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x20]
push ebp
push ecx
mov ecx, dword [esp + 0x9c]
push ebp
push edx
call fcn.004c89b0
cmp eax, 1
jne 0x4a1332
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x4a1332
mov edx, dword [esp + 0x24]
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
add eax, edx
push ebp
push eax
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1332
mov ecx, dword [esi + 0x74]
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea eax, [esp + 0xa8]
push ebp
push eax
push ecx
mov ecx, esi
mov dword [esp + 0xb4], ebp
call fcn.0047bf10
mov edx, dword [esp + 0x90]
mov eax, dword [esi + 0x78]
dec edx
cmp eax, edx
jge 0x4a0c7b
mov edx, dword [esi + 0x74]
push ebp
lea ecx, [esp + 0x40]
push 1
inc eax
push ecx
push eax
push edx
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1332
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004a92c0
dec eax
cmp edi, eax
jge 0x4a1332
push ebp
lea eax, [esp + 0x40]
push 1
push eax
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1332
mov ecx, dword [0x58f614]
mov dword [esp + 0x90], ecx
lea edx, [esp + 0x3c]
lea eax, [esp + 0x24]
push edx
mov edx, dword [esi + 0x78]
push eax
mov eax, dword [esi + 0x74]
lea ecx, [esp + 0x98]
push ebp
push ecx
push edx
push eax
mov ecx, esi
mov byte [esp + 0x98], 8
call fcn.00493c70
cmp eax, ebp
je 0x4a0fa0
cmp edi, 0x101003a
je 0x4a0cf4
cmp edi, 0x1010040
jne 0x4a0d6f
mov ecx, dword [esi + 0x80]
mov eax, dword [esp + 0x24]
cmp ecx, eax
jg 0x4a0d6f
cmp edi, 0x1010040
je 0x4a0e38
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a0d3c
push ebp
lea edx, [esp + 0x40]
push 1
dec eax
push edx
push eax
mov eax, dword [esi + 0x74]
mov ecx, esi
push eax
call fcn.004a30b0
lea ecx, [esp + 0x3c]
push 1
push ecx
push ebp
push 0x7fffffff
jmp 0x4a0e31
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a0e38
push ebp
lea edx, [esp + 0x40]
push 1
push edx
dec eax
push 0x7fffffff
push eax
mov ecx, esi
call fcn.004a30b0
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push 0x7fffffff
jmp 0x4a0e31
mov edi, dword [esp + 0x90]
mov ecx, dword [esi + 0x80]
mov eax, dword [edi - 8]
cmp ecx, eax
mov ecx, dword [esp + 0x88]
jl 0x4a0e57
cmp ecx, 0x1010041
jne 0x4a0daf
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00514336
jmp 0x4a1332
cmp ecx, 0x101003b
jne 0x4a0e51
mov edx, dword [esi + 0x74]
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea ecx, [esp + 0xac]
push ebp
push ecx
push edx
mov ecx, esi
mov dword [esp + 0xb8], ebp
call fcn.0047bf10
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x78]
dec ecx
cmp eax, ecx
jge 0x4a0e08
push ebp
lea edx, [esp + 0x40]
push 1
inc eax
push edx
push eax
mov eax, dword [esi + 0x74]
mov ecx, esi
push eax
call fcn.004a30b0
lea ecx, [esp + 0x3c]
push ebp
push ecx
jmp 0x4a0e2f
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004a92c0
dec eax
cmp edi, eax
jge 0x4a0e38
push ebp
lea edx, [esp + 0x40]
push 1
push edx
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004a30b0
lea eax, [esp + 0x3c]
push ebp
push eax
push ebp
push ebp
mov ecx, esi
call fcn.00494050
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00514336
jmp 0x4a1332
mov dword [esi + 0x80], eax
cmp ecx, 0x1010040
jne 0x4a0e66
mov ecx, 0x101003a
jmp 0x4a0e73
cmp ecx, 0x1010041
jne 0x4a0e7a
mov ecx, 0x101003b
mov dword [esp + 0x88], ecx
mov edx, dword [esi + 0x80]
cmp ecx, 0x101003a
mov al, 0x20
jne 0x4a0e99
cmp edx, ebp
jle 0x4a0e99
cmp byte [edi + edx - 1], al
jne 0x4a0e99
dec edx
cmp edx, ebp
jg 0x4a0e8e
xor eax, eax
or ebp, 0xffffffff
add edx, edi
mov ecx, edi
mov dword [esp + 0x94], edx
cmp dword [esp + 0x88], 0x101003a
jne 0x4a0ec3
cmp ecx, dword [esp + 0x94]
jae 0x4a0f5e
mov dl, byte [ecx]
test dl, dl
je 0x4a0f5a
cmp dl, 0x41
jl 0x4a0ed7
cmp dl, 0x5a
jle 0x4a0f1d
cmp dl, 0x61
jl 0x4a0ee1
cmp dl, 0x7a
jle 0x4a0f1d
cmp dl, 0x30
jl 0x4a0eeb
cmp dl, 0x39
jle 0x4a0f1d
cmp dl, 0x5f
je 0x4a0f1d
cmp dl, 0xb0
jae 0x4a0f1d
cmp ebp, 2
je 0x4a0f43
mov ebx, dword [esp + 0x88]
mov eax, ecx
sub eax, edi
cmp ebx, 0x101003b
mov ebp, 2
jne 0x4a0f43
cmp ecx, dword [esp + 0x94]
ja 0x4a0f5e
jmp 0x4a0f43
cmp ebp, 1
je 0x4a0f43
mov ebx, dword [esp + 0x88]
mov eax, ecx
sub eax, edi
cmp ebx, 0x101003b
mov ebp, 1
jne 0x4a0f43
cmp ecx, dword [esp + 0x94]
ja 0x4a0f5e
test dl, 0x80
je 0x4a0f54
mov dl, byte [ecx + 1]
inc ecx
test dl, dl
je 0x4a0ea9
inc ecx
jmp 0x4a0ea9
sub ecx, edi
mov eax, ecx
cmp byte [eax + edi], 0x2e
jne 0x4a0f6b
mov edx, eax
jmp 0x4a0e99
cmp dword [esp + 0x88], 0x101003b
jne 0x4a0f8d
mov cl, byte [eax + edi]
test cl, cl
je 0x4a0f8d
cmp cl, 0x20
jne 0x4a0f8d
mov cl, byte [eax + edi + 1]
inc eax
test cl, cl
jne 0x4a0f7f
lea ecx, [esp + 0x3c]
push 1
push ecx
push 0
push eax
mov ecx, esi
call fcn.00494050
xor ebp, ebp
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00514336
jmp 0x4a1332
push ebp
push ebp
push ebp
push 0x1020003
jmp 0x4a0fcb
push ebp
push ebp
push ebp
push 0x1020004
mov ecx, esi
call fcn.004a2b50
push 1
push ebp
push 1
mov ecx, esi
call fcn.004a3ae0
jmp 0x4a1344
push ebp
lea edx, [esp + 0x40]
push 1
push edx
push ebp
push 1
mov ecx, esi
call fcn.004933a0
push eax
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1344
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
mov ecx, esi
call fcn.004a3a10
push eax
mov ecx, esi
call fcn.004a30b0
jmp 0x4a1344
lea ecx, [esp + 0x3c]
push ebp
push ecx
push 0xffffffffffffffff
mov ecx, esi
call fcn.004a2310
jmp 0x4a1332
lea edx, [esp + 0x3c]
push ebp
push edx
push 1
mov ecx, esi
call fcn.004a2310
jmp 0x4a1332
lea ecx, [esp + 0x64]
call fcn.00470b30
lea eax, [esp + 0x64]
mov ecx, esi
push eax
push 1
mov byte [esp + 0x88], 9
call fcn.004933a0
dec eax
mov ecx, esi
push eax
call fcn.004972b0
mov edi, eax
cmp edi, 0xffffffff
je 0x4a1104
lea ecx, [esp + 0x24]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.004942b0
test eax, eax
je 0x4a10f3
push 1
push edi
push 1
mov ecx, esi
call fcn.004933f0
push 1
mov ecx, esi
call fcn.004a2a30
cmp eax, ebp
je 0x4a10b0
push edi
mov ecx, eax
call fcn.004a3fe0
mov eax, dword [esi + 0x1c]
push ebp
push ebp
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [esi + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
push ebp
push ebp
lea edx, [esp + 0x2c]
push ebp
push edx
mov ecx, esi
call fcn.0049ddd0
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x5477b0
call fcn.00470d30
jmp 0x4a133d
push ebp
push ebp
push ebp
push 0x1020007
mov ecx, esi
call fcn.004a2b50
jmp 0x4a10d5
push ebp
push 1
push ebp
push ebp
push ebp
mov ecx, esi
call fcn.004a30b0
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x5477b0
call fcn.00470d30
jmp 0x4a1332
lea ecx, [esp + 0x64]
call fcn.00470b30
lea eax, [esp + 0x64]
mov ecx, esi
push eax
mov byte [esp + 0x84], 0xa
call fcn.00497060
mov edi, eax
cmp edi, 0xffffffff
je 0x4a11e1
lea ecx, [esp + 0x24]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.004942b0
test eax, eax
je 0x4a11b4
push 1
push edi
push 1
mov ecx, esi
call fcn.004933f0
push 1
mov ecx, esi
call fcn.004a2a30
cmp eax, ebp
je 0x4a118d
push edi
mov ecx, eax
call fcn.004a3fe0
mov eax, dword [esi + 0x1c]
push ebp
push ebp
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [esi + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
push ebp
push ebp
lea edx, [esp + 0x2c]
push ebp
push edx
mov ecx, esi
call fcn.0049ddd0
jmp 0x4a11c3
push ebp
push ebp
push ebp
push 0x1020008
mov ecx, esi
call fcn.004a2b50
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x5477b0
call fcn.00470d30
jmp 0x4a133d
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
mov ecx, esi
call fcn.004a92c0
dec eax
mov ecx, esi
push eax
call fcn.004a30b0
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x5477b0
call fcn.00470d30
jmp 0x4a1332
lea ecx, [esp + 0x3c]
push ecx
push ebp
push 0xffffffffffffffff
mov ecx, esi
call fcn.004a7b60
jmp 0x4a1332
lea edx, [esp + 0x3c]
mov ecx, esi
push edx
push 0xffffffffffffffff
call fcn.004a8260
jmp 0x4a1332
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x3c]
push eax
push ebp
push ecx
mov ecx, esi
call fcn.004a7b60
jmp 0x4a1332
mov eax, dword [esp + 0x90]
lea edx, [esp + 0x3c]
push edx
push eax
mov ecx, esi
call fcn.004a8260
jmp 0x4a1332
mov edx, dword [esp + 0x90]
xor ecx, ecx
cmp edi, 0x1010030
push 1
sete cl
push ecx
push edx
mov ecx, esi
call fcn.004a1910
jmp 0x4a1332
push edi
mov ecx, esi
call fcn.004a1660
jmp 0x4a1332
lea eax, [esp + 0x3c]
mov ecx, esi
push eax
push 1
push 0xffffffffffffffff
call fcn.004a7b60
jmp 0x4a1332
mov ecx, esi
call fcn.004a7ee0
jmp 0x4a1332
mov ecx, esi
call fcn.004a7f80
jmp 0x4a1332
mov eax, dword [esi + 0x74]
push ebp
push ebp
push ebp
lea ecx, [esp + 0xa0]
push ebp
lea edx, [esp + 0xa0]
push ecx
push edx
push ebp
push ebp
push eax
mov ecx, esi
call fcn.0047bf10
cmp eax, 0xd
jne 0x4a1332
mov ecx, dword [esp + 0x90]
cmp dword [ecx + 0xc8], ebp
jne 0x4a12fe
xor edx, edx
jmp 0x4a1304
mov edx, dword [ecx + 0xc0]
cmp dword [ecx + 0x64], ebp
jne 0x4a130d
xor eax, eax
jmp 0x4a1310
mov eax, dword [ecx + 0x5c]
mov edi, dword [esp + 0x94]
mov edi, dword [eax + edi*4]
add edi, edx
push edi
call fcn.004ca8d0
test al, 1
je 0x4a1332
push ebp
inc edi
push 1
push edi
mov ecx, esi
call fcn.004a92e0
push 1
push ebp
push ebp
mov ecx, esi
call fcn.004a3ae0
mov edi, dword [esp + 0x88]
cmp dword [esp + 0x14], 1
jne 0x4a145a
cmp edi, 0x101001b
je 0x4a1395
mov eax, dword [esp + 0x88]
cmp eax, 0x101001d
je 0x4a1395
cmp eax, 0x101001f
je 0x4a1395
cmp eax, 0x1010021
je 0x4a1395
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004a92c0
dec eax
cmp edi, eax
jne 0x4a1395
cmp dword [esp + 0x88], 0x101001c
jne 0x4a13fa
cmp dword [esp + 0x18], edi
je 0x4a13fa
mov edi, dword [esi + 0x74]
mov eax, dword [esi + 0x90]
cmp edi, eax
jne 0x4a13f7
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x94]
cmp ecx, eax
jne 0x4a13f2
mov edx, dword [esi + 0xa0]
push ebp
push ebp
lea eax, [esp + 0x44]
push ebp
push eax
mov ecx, esi
mov dword [esi + 0x7c], edx
call fcn.0047a540
push 1
lea ecx, [esp + 0x40]
push ebp
push ecx
mov ecx, esi
call fcn.004a4060
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x74]
lea edx, [esp + 0x3c]
push 1
push edx
push ebp
push eax
push ecx
mov ecx, esi
call fcn.0049e180
jmp 0x4a14d4
or edi, 0xffffffff
jmp 0x4a13fa
jle 0x4a13fa
dec edi
lea ecx, [esi + 0xb8]
mov dword [ecx + 0x10], ebp
mov eax, dword [esi + 0xb4]
cmp eax, ebp
jne 0x4a1411
xor edx, edx
jmp 0x4a1417
mov edx, dword [esi + 0xac]
push eax
push edx
call fcn.004713f0
cmp edi, 0xffffffff
je 0x4a1432
mov edx, dword [esi + 0x90]
push edi
push edx
mov ecx, esi
call fcn.004a4360
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x90]
push ebp
push eax
push edi
push ecx
mov ecx, esi
call fcn.0049e2c0
mov edx, dword [esi + 0x74]
mov dword [esi + 0x98], edi
mov dword [esi + 0x9c], edx
jmp 0x4a147b
cmp dword [esp + 0x10], ebp
je 0x4a147b
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x74]
mov eax, dword [esp + 0x2c]
push 1
push ebp
push 1
push ecx
push edx
mov ecx, esi
mov dword [esi + 0x7c], eax
call fcn.0049e180
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 0x74]
cmp eax, edi
jne 0x4a1491
mov eax, dword [esi + 0x78]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
je 0x4a14d4
mov eax, dword [esi + 0x5c]
cmp dword [eax + 0x2d8], 1
je 0x4a14d4
cmp dword [eax + 0x2d4], ebp
jne 0x4a14d4
cmp dword [0x5929a4], 0xffffffff
jne 0x4a14bd
lea ecx, [esp + 0x50]
push ecx
mov ecx, 0x5929a0
call fcn.004e54e0
mov eax, dword [esp + 0x1c]
mov edx, dword [esi]
push eax
push edi
push 0xf
push 0x202006e
mov ecx, esi
call dword [edx + 0xe0]
mov esi, 0x5477b0
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 0
mov dword [esp + 0x50], esi
call fcn.00470d30
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x3c]
call fcn.00470d30
mov eax, 1
jmp 0x4a1541
mov esi, 0x5477b0
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 0
mov dword [esp + 0x50], esi
call fcn.00470d30
lea ecx, [esp + 0x3c]
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x3c], esi
call fcn.00470d30
xor eax, eax
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x74
ret 0x10