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

Disassembly:
push 0xffffffffffffffff
push 0x545bb8
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.004733a0
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.0047ced0
mov edi, dword [esp + 0x88]
cmp edi, 0x1010023
jne 0x4a2d05
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.004735a0
lea ecx, [esi + 0xb8]
call fcn.004735a0
push 0x7fffffff
push ebp
mov ecx, esi
call fcn.004a6d00
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], 0x54d7d0
jmp 0x4a3e9d
xor ecx, ecx
mov eax, 0x58fa5c
mov dword [esp + 0x14], ecx
mov ebx, 4
cmp edi, dword [eax]
je 0x4a2d24
add eax, ebx
cmp eax, 0x58fa74
jl 0x4a2d15
jmp 0x4a2d2d
mov ecx, 1
mov dword [esp + 0x14], ecx
cmp ecx, ebp
mov dword [esp + 0x10], ebp
jne 0x4a2e50
cmp edi, 0x101001b
je 0x4a2d6d
cmp edi, 0x101001c
je 0x4a2d6d
mov eax, 0x58fa74
cmp edi, dword [eax]
je 0x4a2d60
add eax, ebx
cmp eax, 0x58fa8c
jl 0x4a2d4e
jmp 0x4a2ed5
mov dword [esp + 0x10], 1
jmp 0x4a2e37
mov ecx, dword [0x596a5c]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 1
call fcn.00518c55
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.00496610
cmp eax, ebp
je 0x4a2e0a
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.00496e50
mov ecx, dword [eax]
cmp edi, 0x101001b
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
jne 0x4a2de6
xor edx, edx
cmp eax, ebp
sete dl
jmp 0x4a2df2
mov ecx, dword [esp + 0x6c]
xor edx, edx
dec ecx
cmp eax, ecx
setge dl
mov eax, edx
cmp eax, ebp
je 0x4a2e02
mov dword [esp + 0x14], 1
jmp 0x4a2e0a
mov dword [esp + 0x10], 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 1
call fcn.00518c88
lea ecx, [esp + 0x18]
mov byte [esp + 0x80], 0
call fcn.00519a06
cmp dword [esp + 0x10], 1
jne 0x4a2ecb
cmp dword [esi + 0x90], 0xffffffff
je 0x4a2ecb
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ebp
mov ecx, dword [esi + 0x90]
or eax, 0xffffffff
cmp ecx, eax
je 0x4a2e7a
cmp dword [esi + 0x98], eax
je 0x4a2f37
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x9c]
cmp eax, ecx
je 0x4a2f37
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.004735a0
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 0x4a2f18
xor ecx, ecx
jmp 0x4a2f1e
cmp dword [esp + 0x14], ebp
jne 0x4a2e50
xor ecx, ecx
mov eax, 0x58fa20
cmp edi, dword [eax]
je 0x4a2eea
add eax, ebx
inc ecx
cmp eax, 0x58fa5c
jl 0x4a2edc
cmp ecx, 0xf
jne 0x4a2f09
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.004a6a00
cmp dword [esp + 0x10], ebp
je 0x4a2f37
mov edx, dword [esi + 0x7c]
mov dword [esp + 0x2c], edx
jmp 0x4a2f37
mov ecx, dword [esi + 0xc0]
push eax
push ecx
mov ecx, edi
call fcn.00473c60
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.004733a0
mov eax, dword [esi + 0x5c]
mov byte [esp + 0x80], 3
cmp dword [eax + 0x2d8], 1
je 0x4a2f79
cmp dword [eax + 0x2d4], ebp
jne 0x4a2f79
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.0x4a2f90.16842786
xor edx, edx
mov dl, byte [eax + 0x4a3f80]
jmp dword [edx*4 + 0x4a3ef8]
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.004a5a50
jmp 0x4a3ce4
cmp dword [esi + 0x90], 0xffffffff
je case.0x4a2f90.16842753
mov eax, dword [esi + 0x98]
cmp eax, 0xffffffff
je case.0x4a2f90.16842753
cmp eax, dword [esi + 0x74]
jne case.0x4a2f90.16842753
mov ecx, esi
call fcn.004abc70
mov ecx, dword [esi + 0x74]
dec eax
cmp ecx, eax
je 0x4a3cd2
cmp edi, 0x1010001
je 0x4a30c6
cmp edi, 0x101001b
je 0x4a30c6
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004abc70
dec eax
cmp edi, eax
jne 0x4a30bf
cmp dword [esp + 0x88], 0x1010002
jne 0x4a3cd2
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.0047e8a0
cmp eax, 0xd
jne 0x4a3cd2
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0xc8], ebp
jne 0x4a3056
xor edx, edx
jmp 0x4a305c
mov edx, dword [ecx + 0xc0]
cmp dword [ecx + 0x64], ebp
jne 0x4a3065
xor eax, eax
jmp 0x4a3068
mov eax, dword [ecx + 0x5c]
mov edi, dword [esp + 0x20]
mov eax, dword [eax + edi*4]
lea edi, [eax + edx]
push edi
call fcn.004cd2f0
cmp eax, 1
jne 0x4a3cd2
cmp byte [edi], 0x6a
jne 0x4a3096
lea ecx, [edi + 1]
call fcn.004ca380
test eax, eax
jne 0x4a3cd2
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.004a5a50
jmp 0x4a3cd2
mov edi, 1
jmp 0x4a30d2
cmp dword [esi + 0x74], ebp
je 0x4a3cd2
or edi, 0xffffffff
mov ecx, dword [0x596a5c]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], bl
call fcn.00518c55
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.00496610
cmp eax, ebp
je 0x4a3196
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.00496e50
mov ecx, dword [eax]
cmp edi, 0xffffffff
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
jne 0x4a3184
cmp eax, ebp
jle 0x4a3196
lea edx, [esp + 0x3c]
dec eax
push edx
push ecx
push eax
mov ecx, esi
call fcn.00496740
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], bl
call fcn.00518c88
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519a06
jmp 0x4a3cd2
mov edx, dword [esp + 0x6c]
dec edx
cmp eax, edx
jge 0x4a3196
lea edx, [esp + 0x3c]
inc eax
push edx
push ecx
jmp 0x4a3153
lea eax, [esp + 0x24]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, esi
call fcn.00496c50
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.004a5a50
push 1
push ebp
push ebp
mov ecx, esi
call fcn.004a6480
test eax, eax
je 0x4a31de
push ebp
push ebp
lea edx, [esp + 0x44]
push ebp
push edx
mov ecx, esi
call fcn.0047ced0
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.004a0610
jmp 0x4a315b
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
push ebp
mov ecx, esi
call fcn.004a5a50
jmp 0x4a3cd2
mov ecx, esi
call fcn.004abc70
mov edi, eax
push ebp
dec edi
mov ecx, esi
push edi
call fcn.00499c50
cmp eax, 0xffffffff
je 0x4a3245
push eax
mov ecx, esi
call fcn.004a6980
push ebp
push 1
push ebp
push ebp
push edi
mov ecx, esi
call fcn.004a5a50
jmp 0x4a3cd2
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
push ebp
push edi
mov ecx, esi
call fcn.004a5a50
jmp 0x4a3cd2
mov eax, dword [esi + 0x74]
push ebp
lea edx, [esp + 0x40]
push 1
push edx
push ebp
push eax
mov ecx, esi
call fcn.004a5a50
jmp 0x4a3cd2
mov edx, dword [esi + 0x74]
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
push 0x7fffffff
push edx
mov ecx, esi
call fcn.004a5a50
jmp 0x4a3cd2
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a32b2
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.004a5a50
jmp 0x4a3cd2
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a3cd2
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
dec eax
push 0x7fffffff
push eax
mov ecx, esi
call fcn.004a5a50
jmp 0x4a3cd2
mov edx, dword [0x596a5c]
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.00496610
cmp eax, ebp
je 0x4a33b4
mov eax, dword [esi + 0x80]
mov ecx, dword [esp + 0x94]
cmp eax, ecx
jg 0x4a33a3
cmp edi, 0x101003c
jne 0x4a334c
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519a06
jmp 0x4a3cd2
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a3377
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.004a5a50
lea ecx, [esp + 0x3c]
push 1
push ecx
push ebp
push 0x7fffffff
jmp 0x4a33ad
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a33b4
push ebp
lea edx, [esp + 0x40]
push 1
push edx
dec eax
push 0x7fffffff
push eax
mov ecx, esi
call fcn.004a5a50
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push 0x7fffffff
jmp 0x4a33ad
lea ecx, [esp + 0x3c]
push 1
push ecx
dec eax
push ebp
push eax
mov ecx, esi
call fcn.004969f0
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519a06
jmp 0x4a3cd2
mov edx, dword [0x596a5c]
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.00496610
cmp eax, ebp
je 0x4a34d0
mov ecx, dword [esp + 0x90]
mov eax, dword [esi + 0x80]
mov ecx, dword [ecx - 8]
cmp eax, ecx
jne 0x4a34c0
cmp dword [esp + 0x88], 0x101003d
jne 0x4a3446
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519a06
jmp 0x4a3cd2
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.0047e8a0
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x78]
dec ecx
cmp eax, ecx
jge 0x4a3495
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.004a5a50
lea ecx, [esp + 0x3c]
push ebp
push ecx
push ebp
push ebp
jmp 0x4a34c9
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004abc70
dec eax
cmp edi, eax
jge 0x4a34d0
push ebp
lea edx, [esp + 0x40]
push 1
push edx
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004a5a50
lea eax, [esp + 0x3c]
push ebp
push eax
push ebp
push ebp
jmp 0x4a34c9
lea ecx, [esp + 0x3c]
push ebp
push ecx
inc eax
push ebp
push eax
mov ecx, esi
call fcn.004969f0
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519a06
jmp 0x4a3cd2
lea edx, [esp + 0x3c]
push 1
push edx
push ebp
push ebp
mov ecx, esi
call fcn.004969f0
jmp 0x4a3cd2
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push 0x7fffffff
mov ecx, esi
call fcn.004969f0
jmp 0x4a3cd2
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.0047e8a0
cmp eax, 0xd
jne 0x4a3cd2
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0xc8], ebp
jne 0x4a3558
xor edx, edx
jmp 0x4a355e
mov edx, dword [ecx + 0xc0]
cmp dword [ecx + 0x64], ebp
jne 0x4a3567
xor eax, eax
jmp 0x4a356a
mov eax, dword [ecx + 0x5c]
mov edi, dword [esp + 0x90]
mov eax, dword [eax + edi*4]
add eax, edx
push eax
call fcn.004cd2f0
test al, 2
je 0x4a3cd2
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x20]
push ebp
push ecx
mov ecx, dword [esp + 0x9c]
push ebp
push edx
call fcn.004cb360
cmp eax, 1
jne 0x4a3cd2
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x4a3cd2
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.004a5a50
jmp 0x4a3cd2
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.0047e8a0
mov edx, dword [esp + 0x90]
mov eax, dword [esi + 0x78]
dec edx
cmp eax, edx
jge 0x4a361b
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.004a5a50
jmp 0x4a3cd2
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004abc70
dec eax
cmp edi, eax
jge 0x4a3cd2
push ebp
lea eax, [esp + 0x40]
push 1
push eax
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004a5a50
jmp 0x4a3cd2
mov ecx, dword [0x596a5c]
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.00496610
cmp eax, ebp
je 0x4a3940
cmp edi, 0x101003a
je 0x4a3694
cmp edi, 0x1010040
jne 0x4a370f
mov ecx, dword [esi + 0x80]
mov eax, dword [esp + 0x24]
cmp ecx, eax
jg 0x4a370f
cmp edi, 0x1010040
je 0x4a37d8
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a36dc
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.004a5a50
lea ecx, [esp + 0x3c]
push 1
push ecx
push ebp
push 0x7fffffff
jmp 0x4a37d1
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a37d8
push ebp
lea edx, [esp + 0x40]
push 1
push edx
dec eax
push 0x7fffffff
push eax
mov ecx, esi
call fcn.004a5a50
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push 0x7fffffff
jmp 0x4a37d1
mov edi, dword [esp + 0x90]
mov ecx, dword [esi + 0x80]
mov eax, dword [edi - 8]
cmp ecx, eax
mov ecx, dword [esp + 0x88]
jl 0x4a37f7
cmp ecx, 0x1010041
jne 0x4a374f
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519a06
jmp 0x4a3cd2
cmp ecx, 0x101003b
jne 0x4a37f1
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.0047e8a0
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x78]
dec ecx
cmp eax, ecx
jge 0x4a37a8
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.004a5a50
lea ecx, [esp + 0x3c]
push ebp
push ecx
jmp 0x4a37cf
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004abc70
dec eax
cmp edi, eax
jge 0x4a37d8
push ebp
lea edx, [esp + 0x40]
push 1
push edx
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004a5a50
lea eax, [esp + 0x3c]
push ebp
push eax
push ebp
push ebp
mov ecx, esi
call fcn.004969f0
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519a06
jmp 0x4a3cd2
mov dword [esi + 0x80], eax
cmp ecx, 0x1010040
jne 0x4a3806
mov ecx, 0x101003a
jmp 0x4a3813
cmp ecx, 0x1010041
jne 0x4a381a
mov ecx, 0x101003b
mov dword [esp + 0x88], ecx
mov edx, dword [esi + 0x80]
cmp ecx, 0x101003a
mov al, 0x20
jne 0x4a3839
cmp edx, ebp
jle 0x4a3839
cmp byte [edi + edx - 1], al
jne 0x4a3839
dec edx
cmp edx, ebp
jg 0x4a382e
xor eax, eax
or ebp, 0xffffffff
add edx, edi
mov ecx, edi
mov dword [esp + 0x94], edx
cmp dword [esp + 0x88], 0x101003a
jne 0x4a3863
cmp ecx, dword [esp + 0x94]
jae 0x4a38fe
mov dl, byte [ecx]
test dl, dl
je 0x4a38fa
cmp dl, 0x41
jl 0x4a3877
cmp dl, 0x5a
jle 0x4a38bd
cmp dl, 0x61
jl 0x4a3881
cmp dl, 0x7a
jle 0x4a38bd
cmp dl, 0x30
jl 0x4a388b
cmp dl, 0x39
jle 0x4a38bd
cmp dl, 0x5f
je 0x4a38bd
cmp dl, 0xb0
jae 0x4a38bd
cmp ebp, 2
je 0x4a38e3
mov ebx, dword [esp + 0x88]
mov eax, ecx
sub eax, edi
cmp ebx, 0x101003b
mov ebp, 2
jne 0x4a38e3
cmp ecx, dword [esp + 0x94]
ja 0x4a38fe
jmp 0x4a38e3
cmp ebp, 1
je 0x4a38e3
mov ebx, dword [esp + 0x88]
mov eax, ecx
sub eax, edi
cmp ebx, 0x101003b
mov ebp, 1
jne 0x4a38e3
cmp ecx, dword [esp + 0x94]
ja 0x4a38fe
test dl, 0x80
je 0x4a38f4
mov dl, byte [ecx + 1]
inc ecx
test dl, dl
je 0x4a3849
inc ecx
jmp 0x4a3849
sub ecx, edi
mov eax, ecx
cmp byte [eax + edi], 0x2e
jne 0x4a390b
mov edx, eax
jmp 0x4a3839
cmp dword [esp + 0x88], 0x101003b
jne 0x4a392d
mov cl, byte [eax + edi]
test cl, cl
je 0x4a392d
cmp cl, 0x20
jne 0x4a392d
mov cl, byte [eax + edi + 1]
inc eax
test cl, cl
jne 0x4a391f
lea ecx, [esp + 0x3c]
push 1
push ecx
push 0
push eax
mov ecx, esi
call fcn.004969f0
xor ebp, ebp
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519a06
jmp 0x4a3cd2
push ebp
push ebp
push ebp
push 0x1020003
jmp 0x4a396b
push ebp
push ebp
push ebp
push 0x1020004
mov ecx, esi
call fcn.004a54f0
push 1
push ebp
push 1
mov ecx, esi
call fcn.004a6480
jmp 0x4a3ce4
push ebp
lea edx, [esp + 0x40]
push 1
push edx
push ebp
push 1
mov ecx, esi
call fcn.00495d40
push eax
mov ecx, esi
call fcn.004a5a50
jmp 0x4a3ce4
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
mov ecx, esi
call fcn.004a63b0
push eax
mov ecx, esi
call fcn.004a5a50
jmp 0x4a3ce4
lea ecx, [esp + 0x3c]
push ebp
push ecx
push 0xffffffffffffffff
mov ecx, esi
call fcn.004a4cb0
jmp 0x4a3cd2
lea edx, [esp + 0x3c]
push ebp
push edx
push 1
mov ecx, esi
call fcn.004a4cb0
jmp 0x4a3cd2
lea ecx, [esp + 0x64]
call fcn.004733a0
lea eax, [esp + 0x64]
mov ecx, esi
push eax
push 1
mov byte [esp + 0x88], 9
call fcn.00495d40
dec eax
mov ecx, esi
push eax
call fcn.00499c50
mov edi, eax
cmp edi, 0xffffffff
je 0x4a3aa4
lea ecx, [esp + 0x24]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.00496c50
test eax, eax
je 0x4a3a93
push 1
push edi
push 1
mov ecx, esi
call fcn.00495d90
push 1
mov ecx, esi
call fcn.004a53d0
cmp eax, ebp
je 0x4a3a50
push edi
mov ecx, eax
call fcn.004a6980
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.004a0770
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x54d7d0
call fcn.004735a0
jmp 0x4a3cdd
push ebp
push ebp
push ebp
push 0x1020007
mov ecx, esi
call fcn.004a54f0
jmp 0x4a3a75
push ebp
push 1
push ebp
push ebp
push ebp
mov ecx, esi
call fcn.004a5a50
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x54d7d0
call fcn.004735a0
jmp 0x4a3cd2
lea ecx, [esp + 0x64]
call fcn.004733a0
lea eax, [esp + 0x64]
mov ecx, esi
push eax
mov byte [esp + 0x84], 0xa
call fcn.00499a00
mov edi, eax
cmp edi, 0xffffffff
je 0x4a3b81
lea ecx, [esp + 0x24]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.00496c50
test eax, eax
je 0x4a3b54
push 1
push edi
push 1
mov ecx, esi
call fcn.00495d90
push 1
mov ecx, esi
call fcn.004a53d0
cmp eax, ebp
je 0x4a3b2d
push edi
mov ecx, eax
call fcn.004a6980
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.004a0770
jmp 0x4a3b63
push ebp
push ebp
push ebp
push 0x1020008
mov ecx, esi
call fcn.004a54f0
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x54d7d0
call fcn.004735a0
jmp 0x4a3cdd
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
mov ecx, esi
call fcn.004abc70
dec eax
mov ecx, esi
push eax
call fcn.004a5a50
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x54d7d0
call fcn.004735a0
jmp 0x4a3cd2
lea ecx, [esp + 0x3c]
push ecx
push ebp
push 0xffffffffffffffff
mov ecx, esi
call fcn.004aa510
jmp 0x4a3cd2
lea edx, [esp + 0x3c]
mov ecx, esi
push edx
push 0xffffffffffffffff
call fcn.004aac10
jmp 0x4a3cd2
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x3c]
push eax
push ebp
push ecx
mov ecx, esi
call fcn.004aa510
jmp 0x4a3cd2
mov eax, dword [esp + 0x90]
lea edx, [esp + 0x3c]
push edx
push eax
mov ecx, esi
call fcn.004aac10
jmp 0x4a3cd2
mov edx, dword [esp + 0x90]
xor ecx, ecx
cmp edi, 0x1010030
push 1
sete cl
push ecx
push edx
mov ecx, esi
call fcn.004a42b0
jmp 0x4a3cd2
push edi
mov ecx, esi
call fcn.004a4000
jmp 0x4a3cd2
lea eax, [esp + 0x3c]
mov ecx, esi
push eax
push 1
push 0xffffffffffffffff
call fcn.004aa510
jmp 0x4a3cd2
mov ecx, esi
call fcn.004aa890
jmp 0x4a3cd2
mov ecx, esi
call fcn.004aa930
jmp 0x4a3cd2
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.0047e8a0
cmp eax, 0xd
jne 0x4a3cd2
mov ecx, dword [esp + 0x90]
cmp dword [ecx + 0xc8], ebp
jne 0x4a3c9e
xor edx, edx
jmp 0x4a3ca4
mov edx, dword [ecx + 0xc0]
cmp dword [ecx + 0x64], ebp
jne 0x4a3cad
xor eax, eax
jmp 0x4a3cb0
mov eax, dword [ecx + 0x5c]
mov edi, dword [esp + 0x94]
mov edi, dword [eax + edi*4]
add edi, edx
push edi
call fcn.004cd2f0
test al, 1
je 0x4a3cd2
push ebp
inc edi
push 1
push edi
mov ecx, esi
call fcn.004abc90
push 1
push ebp
push ebp
mov ecx, esi
call fcn.004a6480
mov edi, dword [esp + 0x88]
cmp dword [esp + 0x14], 1
jne 0x4a3dfa
cmp edi, 0x101001b
je 0x4a3d35
mov eax, dword [esp + 0x88]
cmp eax, 0x101001d
je 0x4a3d35
cmp eax, 0x101001f
je 0x4a3d35
cmp eax, 0x1010021
je 0x4a3d35
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004abc70
dec eax
cmp edi, eax
jne 0x4a3d35
cmp dword [esp + 0x88], 0x101001c
jne 0x4a3d9a
cmp dword [esp + 0x18], edi
je 0x4a3d9a
mov edi, dword [esi + 0x74]
mov eax, dword [esi + 0x90]
cmp edi, eax
jne 0x4a3d97
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x94]
cmp ecx, eax
jne 0x4a3d92
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.0047ced0
push 1
lea ecx, [esp + 0x40]
push ebp
push ecx
mov ecx, esi
call fcn.004a6a00
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.004a0b20
jmp 0x4a3e74
or edi, 0xffffffff
jmp 0x4a3d9a
jle 0x4a3d9a
dec edi
lea ecx, [esi + 0xb8]
mov dword [ecx + 0x10], ebp
mov eax, dword [esi + 0xb4]
cmp eax, ebp
jne 0x4a3db1
xor edx, edx
jmp 0x4a3db7
mov edx, dword [esi + 0xac]
push eax
push edx
call fcn.00473c60
cmp edi, 0xffffffff
je 0x4a3dd2
mov edx, dword [esi + 0x90]
push edi
push edx
mov ecx, esi
call fcn.004a6d00
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x90]
push ebp
push eax
push edi
push ecx
mov ecx, esi
call fcn.004a0c60
mov edx, dword [esi + 0x74]
mov dword [esi + 0x98], edi
mov dword [esi + 0x9c], edx
jmp 0x4a3e1b
cmp dword [esp + 0x10], ebp
je 0x4a3e1b
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.004a0b20
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 0x74]
cmp eax, edi
jne 0x4a3e31
mov eax, dword [esi + 0x78]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
je 0x4a3e74
mov eax, dword [esi + 0x5c]
cmp dword [eax + 0x2d8], 1
je 0x4a3e74
cmp dword [eax + 0x2d4], ebp
jne 0x4a3e74
cmp dword [0x59a5cc], 0xffffffff
jne 0x4a3e5d
lea ecx, [esp + 0x50]
push ecx
mov ecx, 0x59a5c8
call fcn.004e7f20
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, 0x54d7d0
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 0
mov dword [esp + 0x50], esi
call fcn.004735a0
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x3c]
call fcn.004735a0
mov eax, 1
jmp 0x4a3ee1
mov esi, 0x54d7d0
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 0
mov dword [esp + 0x50], esi
call fcn.004735a0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x3c], esi
call fcn.004735a0
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