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

Disassembly:
push 0xffffffffffffffff
push 0x545748
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.00473110
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.0047cb00
mov edi, dword [esp + 0x88]
cmp edi, 0x1010023
jne 0x4a2925
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.00473310
lea ecx, [esi + 0xb8]
call fcn.00473310
push 0x7fffffff
push ebp
mov ecx, esi
call fcn.004a6930
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 0x4a3abd
xor ecx, ecx
mov eax, 0x58f9b4
mov dword [esp + 0x14], ecx
mov ebx, 4
cmp edi, dword [eax]
je 0x4a2944
add eax, ebx
cmp eax, 0x58f9cc
jl 0x4a2935
jmp 0x4a294d
mov ecx, 1
mov dword [esp + 0x14], ecx
cmp ecx, ebp
mov dword [esp + 0x10], ebp
jne 0x4a2a70
cmp edi, 0x101001b
je 0x4a298d
cmp edi, 0x101001c
je 0x4a298d
mov eax, 0x58f9cc
cmp edi, dword [eax]
je 0x4a2980
add eax, ebx
cmp eax, 0x58f9e4
jl 0x4a296e
jmp 0x4a2af5
mov dword [esp + 0x10], 1
jmp 0x4a2a57
mov ecx, dword [0x59697c]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 1
call fcn.00518875
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.00496230
cmp eax, ebp
je 0x4a2a2a
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.00496a70
mov ecx, dword [eax]
cmp edi, 0x101001b
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
jne 0x4a2a06
xor edx, edx
cmp eax, ebp
sete dl
jmp 0x4a2a12
mov ecx, dword [esp + 0x6c]
xor edx, edx
dec ecx
cmp eax, ecx
setge dl
mov eax, edx
cmp eax, ebp
je 0x4a2a22
mov dword [esp + 0x14], 1
jmp 0x4a2a2a
mov dword [esp + 0x10], 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 1
call fcn.005188a8
lea ecx, [esp + 0x18]
mov byte [esp + 0x80], 0
call fcn.00519616
cmp dword [esp + 0x10], 1
jne 0x4a2aeb
cmp dword [esi + 0x90], 0xffffffff
je 0x4a2aeb
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ebp
mov ecx, dword [esi + 0x90]
or eax, 0xffffffff
cmp ecx, eax
je 0x4a2a9a
cmp dword [esi + 0x98], eax
je 0x4a2b57
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x9c]
cmp eax, ecx
je 0x4a2b57
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.00473310
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 0x4a2b38
xor ecx, ecx
jmp 0x4a2b3e
cmp dword [esp + 0x14], ebp
jne 0x4a2a70
xor ecx, ecx
mov eax, 0x58f978
cmp edi, dword [eax]
je 0x4a2b0a
add eax, ebx
inc ecx
cmp eax, 0x58f9b4
jl 0x4a2afc
cmp ecx, 0xf
jne 0x4a2b29
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.004a6630
cmp dword [esp + 0x10], ebp
je 0x4a2b57
mov edx, dword [esi + 0x7c]
mov dword [esp + 0x2c], edx
jmp 0x4a2b57
mov ecx, dword [esi + 0xc0]
push eax
push ecx
mov ecx, edi
call fcn.004739d0
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.00473110
mov eax, dword [esi + 0x5c]
mov byte [esp + 0x80], 3
cmp dword [eax + 0x2d8], 1
je 0x4a2b99
cmp dword [eax + 0x2d4], ebp
jne 0x4a2b99
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.0x4a2bb0.16842786
xor edx, edx
mov dl, byte [eax + 0x4a3ba0]
jmp dword [edx*4 + 0x4a3b18]
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.004a5680
jmp 0x4a3904
cmp dword [esi + 0x90], 0xffffffff
je case.0x4a2bb0.16842753
mov eax, dword [esi + 0x98]
cmp eax, 0xffffffff
je case.0x4a2bb0.16842753
cmp eax, dword [esi + 0x74]
jne case.0x4a2bb0.16842753
mov ecx, esi
call fcn.004ab8a0
mov ecx, dword [esi + 0x74]
dec eax
cmp ecx, eax
je 0x4a38f2
cmp edi, 0x1010001
je 0x4a2ce6
cmp edi, 0x101001b
je 0x4a2ce6
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004ab8a0
dec eax
cmp edi, eax
jne 0x4a2cdf
cmp dword [esp + 0x88], 0x1010002
jne 0x4a38f2
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.0047e4d0
cmp eax, 0xd
jne 0x4a38f2
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0xc8], ebp
jne 0x4a2c76
xor edx, edx
jmp 0x4a2c7c
mov edx, dword [ecx + 0xc0]
cmp dword [ecx + 0x64], ebp
jne 0x4a2c85
xor eax, eax
jmp 0x4a2c88
mov eax, dword [ecx + 0x5c]
mov edi, dword [esp + 0x20]
mov eax, dword [eax + edi*4]
lea edi, [eax + edx]
push edi
call fcn.004cced0
cmp eax, 1
jne 0x4a38f2
cmp byte [edi], 0x6a
jne 0x4a2cb6
lea ecx, [edi + 1]
call fcn.004c9f60
test eax, eax
jne 0x4a38f2
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.004a5680
jmp 0x4a38f2
mov edi, 1
jmp 0x4a2cf2
cmp dword [esi + 0x74], ebp
je 0x4a38f2
or edi, 0xffffffff
mov ecx, dword [0x59697c]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], bl
call fcn.00518875
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.00496230
cmp eax, ebp
je 0x4a2db6
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.00496a70
mov ecx, dword [eax]
cmp edi, 0xffffffff
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
jne 0x4a2da4
cmp eax, ebp
jle 0x4a2db6
lea edx, [esp + 0x3c]
dec eax
push edx
push ecx
push eax
mov ecx, esi
call fcn.00496360
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], bl
call fcn.005188a8
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519616
jmp 0x4a38f2
mov edx, dword [esp + 0x6c]
dec edx
cmp eax, edx
jge 0x4a2db6
lea edx, [esp + 0x3c]
inc eax
push edx
push ecx
jmp 0x4a2d73
lea eax, [esp + 0x24]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, esi
call fcn.00496870
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.004a5680
push 1
push ebp
push ebp
mov ecx, esi
call fcn.004a60b0
test eax, eax
je 0x4a2dfe
push ebp
push ebp
lea edx, [esp + 0x44]
push ebp
push edx
mov ecx, esi
call fcn.0047cb00
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.004a0230
jmp 0x4a2d7b
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
push ebp
mov ecx, esi
call fcn.004a5680
jmp 0x4a38f2
mov ecx, esi
call fcn.004ab8a0
mov edi, eax
push ebp
dec edi
mov ecx, esi
push edi
call fcn.00499870
cmp eax, 0xffffffff
je 0x4a2e65
push eax
mov ecx, esi
call fcn.004a65b0
push ebp
push 1
push ebp
push ebp
push edi
mov ecx, esi
call fcn.004a5680
jmp 0x4a38f2
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
push ebp
push edi
mov ecx, esi
call fcn.004a5680
jmp 0x4a38f2
mov eax, dword [esi + 0x74]
push ebp
lea edx, [esp + 0x40]
push 1
push edx
push ebp
push eax
mov ecx, esi
call fcn.004a5680
jmp 0x4a38f2
mov edx, dword [esi + 0x74]
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
push 0x7fffffff
push edx
mov ecx, esi
call fcn.004a5680
jmp 0x4a38f2
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a2ed2
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.004a5680
jmp 0x4a38f2
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a38f2
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
dec eax
push 0x7fffffff
push eax
mov ecx, esi
call fcn.004a5680
jmp 0x4a38f2
mov edx, dword [0x59697c]
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.00496230
cmp eax, ebp
je 0x4a2fd4
mov eax, dword [esi + 0x80]
mov ecx, dword [esp + 0x94]
cmp eax, ecx
jg 0x4a2fc3
cmp edi, 0x101003c
jne 0x4a2f6c
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519616
jmp 0x4a38f2
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a2f97
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.004a5680
lea ecx, [esp + 0x3c]
push 1
push ecx
push ebp
push 0x7fffffff
jmp 0x4a2fcd
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a2fd4
push ebp
lea edx, [esp + 0x40]
push 1
push edx
dec eax
push 0x7fffffff
push eax
mov ecx, esi
call fcn.004a5680
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push 0x7fffffff
jmp 0x4a2fcd
lea ecx, [esp + 0x3c]
push 1
push ecx
dec eax
push ebp
push eax
mov ecx, esi
call fcn.00496610
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519616
jmp 0x4a38f2
mov edx, dword [0x59697c]
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.00496230
cmp eax, ebp
je 0x4a30f0
mov ecx, dword [esp + 0x90]
mov eax, dword [esi + 0x80]
mov ecx, dword [ecx - 8]
cmp eax, ecx
jne 0x4a30e0
cmp dword [esp + 0x88], 0x101003d
jne 0x4a3066
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519616
jmp 0x4a38f2
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.0047e4d0
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x78]
dec ecx
cmp eax, ecx
jge 0x4a30b5
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.004a5680
lea ecx, [esp + 0x3c]
push ebp
push ecx
push ebp
push ebp
jmp 0x4a30e9
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004ab8a0
dec eax
cmp edi, eax
jge 0x4a30f0
push ebp
lea edx, [esp + 0x40]
push 1
push edx
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004a5680
lea eax, [esp + 0x3c]
push ebp
push eax
push ebp
push ebp
jmp 0x4a30e9
lea ecx, [esp + 0x3c]
push ebp
push ecx
inc eax
push ebp
push eax
mov ecx, esi
call fcn.00496610
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519616
jmp 0x4a38f2
lea edx, [esp + 0x3c]
push 1
push edx
push ebp
push ebp
mov ecx, esi
call fcn.00496610
jmp 0x4a38f2
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push 0x7fffffff
mov ecx, esi
call fcn.00496610
jmp 0x4a38f2
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.0047e4d0
cmp eax, 0xd
jne 0x4a38f2
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0xc8], ebp
jne 0x4a3178
xor edx, edx
jmp 0x4a317e
mov edx, dword [ecx + 0xc0]
cmp dword [ecx + 0x64], ebp
jne 0x4a3187
xor eax, eax
jmp 0x4a318a
mov eax, dword [ecx + 0x5c]
mov edi, dword [esp + 0x90]
mov eax, dword [eax + edi*4]
add eax, edx
push eax
call fcn.004cced0
test al, 2
je 0x4a38f2
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x20]
push ebp
push ecx
mov ecx, dword [esp + 0x9c]
push ebp
push edx
call fcn.004caf40
cmp eax, 1
jne 0x4a38f2
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x4a38f2
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.004a5680
jmp 0x4a38f2
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.0047e4d0
mov edx, dword [esp + 0x90]
mov eax, dword [esi + 0x78]
dec edx
cmp eax, edx
jge 0x4a323b
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.004a5680
jmp 0x4a38f2
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004ab8a0
dec eax
cmp edi, eax
jge 0x4a38f2
push ebp
lea eax, [esp + 0x40]
push 1
push eax
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004a5680
jmp 0x4a38f2
mov ecx, dword [0x59697c]
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.00496230
cmp eax, ebp
je 0x4a3560
cmp edi, 0x101003a
je 0x4a32b4
cmp edi, 0x1010040
jne 0x4a332f
mov ecx, dword [esi + 0x80]
mov eax, dword [esp + 0x24]
cmp ecx, eax
jg 0x4a332f
cmp edi, 0x1010040
je 0x4a33f8
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a32fc
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.004a5680
lea ecx, [esp + 0x3c]
push 1
push ecx
push ebp
push 0x7fffffff
jmp 0x4a33f1
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a33f8
push ebp
lea edx, [esp + 0x40]
push 1
push edx
dec eax
push 0x7fffffff
push eax
mov ecx, esi
call fcn.004a5680
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push 0x7fffffff
jmp 0x4a33f1
mov edi, dword [esp + 0x90]
mov ecx, dword [esi + 0x80]
mov eax, dword [edi - 8]
cmp ecx, eax
mov ecx, dword [esp + 0x88]
jl 0x4a3417
cmp ecx, 0x1010041
jne 0x4a336f
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519616
jmp 0x4a38f2
cmp ecx, 0x101003b
jne 0x4a3411
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.0047e4d0
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x78]
dec ecx
cmp eax, ecx
jge 0x4a33c8
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.004a5680
lea ecx, [esp + 0x3c]
push ebp
push ecx
jmp 0x4a33ef
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004ab8a0
dec eax
cmp edi, eax
jge 0x4a33f8
push ebp
lea edx, [esp + 0x40]
push 1
push edx
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004a5680
lea eax, [esp + 0x3c]
push ebp
push eax
push ebp
push ebp
mov ecx, esi
call fcn.00496610
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519616
jmp 0x4a38f2
mov dword [esi + 0x80], eax
cmp ecx, 0x1010040
jne 0x4a3426
mov ecx, 0x101003a
jmp 0x4a3433
cmp ecx, 0x1010041
jne 0x4a343a
mov ecx, 0x101003b
mov dword [esp + 0x88], ecx
mov edx, dword [esi + 0x80]
cmp ecx, 0x101003a
mov al, 0x20
jne 0x4a3459
cmp edx, ebp
jle 0x4a3459
cmp byte [edi + edx - 1], al
jne 0x4a3459
dec edx
cmp edx, ebp
jg 0x4a344e
xor eax, eax
or ebp, 0xffffffff
add edx, edi
mov ecx, edi
mov dword [esp + 0x94], edx
cmp dword [esp + 0x88], 0x101003a
jne 0x4a3483
cmp ecx, dword [esp + 0x94]
jae 0x4a351e
mov dl, byte [ecx]
test dl, dl
je 0x4a351a
cmp dl, 0x41
jl 0x4a3497
cmp dl, 0x5a
jle 0x4a34dd
cmp dl, 0x61
jl 0x4a34a1
cmp dl, 0x7a
jle 0x4a34dd
cmp dl, 0x30
jl 0x4a34ab
cmp dl, 0x39
jle 0x4a34dd
cmp dl, 0x5f
je 0x4a34dd
cmp dl, 0xb0
jae 0x4a34dd
cmp ebp, 2
je 0x4a3503
mov ebx, dword [esp + 0x88]
mov eax, ecx
sub eax, edi
cmp ebx, 0x101003b
mov ebp, 2
jne 0x4a3503
cmp ecx, dword [esp + 0x94]
ja 0x4a351e
jmp 0x4a3503
cmp ebp, 1
je 0x4a3503
mov ebx, dword [esp + 0x88]
mov eax, ecx
sub eax, edi
cmp ebx, 0x101003b
mov ebp, 1
jne 0x4a3503
cmp ecx, dword [esp + 0x94]
ja 0x4a351e
test dl, 0x80
je 0x4a3514
mov dl, byte [ecx + 1]
inc ecx
test dl, dl
je 0x4a3469
inc ecx
jmp 0x4a3469
sub ecx, edi
mov eax, ecx
cmp byte [eax + edi], 0x2e
jne 0x4a352b
mov edx, eax
jmp 0x4a3459
cmp dword [esp + 0x88], 0x101003b
jne 0x4a354d
mov cl, byte [eax + edi]
test cl, cl
je 0x4a354d
cmp cl, 0x20
jne 0x4a354d
mov cl, byte [eax + edi + 1]
inc eax
test cl, cl
jne 0x4a353f
lea ecx, [esp + 0x3c]
push 1
push ecx
push 0
push eax
mov ecx, esi
call fcn.00496610
xor ebp, ebp
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00519616
jmp 0x4a38f2
push ebp
push ebp
push ebp
push 0x1020003
jmp 0x4a358b
push ebp
push ebp
push ebp
push 0x1020004
mov ecx, esi
call fcn.004a5120
push 1
push ebp
push 1
mov ecx, esi
call fcn.004a60b0
jmp 0x4a3904
push ebp
lea edx, [esp + 0x40]
push 1
push edx
push ebp
push 1
mov ecx, esi
call fcn.00495960
push eax
mov ecx, esi
call fcn.004a5680
jmp 0x4a3904
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
mov ecx, esi
call fcn.004a5fe0
push eax
mov ecx, esi
call fcn.004a5680
jmp 0x4a3904
lea ecx, [esp + 0x3c]
push ebp
push ecx
push 0xffffffffffffffff
mov ecx, esi
call fcn.004a48e0
jmp 0x4a38f2
lea edx, [esp + 0x3c]
push ebp
push edx
push 1
mov ecx, esi
call fcn.004a48e0
jmp 0x4a38f2
lea ecx, [esp + 0x64]
call fcn.00473110
lea eax, [esp + 0x64]
mov ecx, esi
push eax
push 1
mov byte [esp + 0x88], 9
call fcn.00495960
dec eax
mov ecx, esi
push eax
call fcn.00499870
mov edi, eax
cmp edi, 0xffffffff
je 0x4a36c4
lea ecx, [esp + 0x24]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.00496870
test eax, eax
je 0x4a36b3
push 1
push edi
push 1
mov ecx, esi
call fcn.004959b0
push 1
mov ecx, esi
call fcn.004a5000
cmp eax, ebp
je 0x4a3670
push edi
mov ecx, eax
call fcn.004a65b0
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.004a0390
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x54d7d0
call fcn.00473310
jmp 0x4a38fd
push ebp
push ebp
push ebp
push 0x1020007
mov ecx, esi
call fcn.004a5120
jmp 0x4a3695
push ebp
push 1
push ebp
push ebp
push ebp
mov ecx, esi
call fcn.004a5680
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x54d7d0
call fcn.00473310
jmp 0x4a38f2
lea ecx, [esp + 0x64]
call fcn.00473110
lea eax, [esp + 0x64]
mov ecx, esi
push eax
mov byte [esp + 0x84], 0xa
call fcn.00499620
mov edi, eax
cmp edi, 0xffffffff
je 0x4a37a1
lea ecx, [esp + 0x24]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.00496870
test eax, eax
je 0x4a3774
push 1
push edi
push 1
mov ecx, esi
call fcn.004959b0
push 1
mov ecx, esi
call fcn.004a5000
cmp eax, ebp
je 0x4a374d
push edi
mov ecx, eax
call fcn.004a65b0
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.004a0390
jmp 0x4a3783
push ebp
push ebp
push ebp
push 0x1020008
mov ecx, esi
call fcn.004a5120
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x54d7d0
call fcn.00473310
jmp 0x4a38fd
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
mov ecx, esi
call fcn.004ab8a0
dec eax
mov ecx, esi
push eax
call fcn.004a5680
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x54d7d0
call fcn.00473310
jmp 0x4a38f2
lea ecx, [esp + 0x3c]
push ecx
push ebp
push 0xffffffffffffffff
mov ecx, esi
call fcn.004aa140
jmp 0x4a38f2
lea edx, [esp + 0x3c]
mov ecx, esi
push edx
push 0xffffffffffffffff
call fcn.004aa840
jmp 0x4a38f2
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x3c]
push eax
push ebp
push ecx
mov ecx, esi
call fcn.004aa140
jmp 0x4a38f2
mov eax, dword [esp + 0x90]
lea edx, [esp + 0x3c]
push edx
push eax
mov ecx, esi
call fcn.004aa840
jmp 0x4a38f2
mov edx, dword [esp + 0x90]
xor ecx, ecx
cmp edi, 0x1010030
push 1
sete cl
push ecx
push edx
mov ecx, esi
call fcn.004a3ed0
jmp 0x4a38f2
push edi
mov ecx, esi
call fcn.004a3c20
jmp 0x4a38f2
lea eax, [esp + 0x3c]
mov ecx, esi
push eax
push 1
push 0xffffffffffffffff
call fcn.004aa140
jmp 0x4a38f2
mov ecx, esi
call fcn.004aa4c0
jmp 0x4a38f2
mov ecx, esi
call fcn.004aa560
jmp 0x4a38f2
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.0047e4d0
cmp eax, 0xd
jne 0x4a38f2
mov ecx, dword [esp + 0x90]
cmp dword [ecx + 0xc8], ebp
jne 0x4a38be
xor edx, edx
jmp 0x4a38c4
mov edx, dword [ecx + 0xc0]
cmp dword [ecx + 0x64], ebp
jne 0x4a38cd
xor eax, eax
jmp 0x4a38d0
mov eax, dword [ecx + 0x5c]
mov edi, dword [esp + 0x94]
mov edi, dword [eax + edi*4]
add edi, edx
push edi
call fcn.004cced0
test al, 1
je 0x4a38f2
push ebp
inc edi
push 1
push edi
mov ecx, esi
call fcn.004ab8c0
push 1
push ebp
push ebp
mov ecx, esi
call fcn.004a60b0
mov edi, dword [esp + 0x88]
cmp dword [esp + 0x14], 1
jne 0x4a3a1a
cmp edi, 0x101001b
je 0x4a3955
mov eax, dword [esp + 0x88]
cmp eax, 0x101001d
je 0x4a3955
cmp eax, 0x101001f
je 0x4a3955
cmp eax, 0x1010021
je 0x4a3955
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004ab8a0
dec eax
cmp edi, eax
jne 0x4a3955
cmp dword [esp + 0x88], 0x101001c
jne 0x4a39ba
cmp dword [esp + 0x18], edi
je 0x4a39ba
mov edi, dword [esi + 0x74]
mov eax, dword [esi + 0x90]
cmp edi, eax
jne 0x4a39b7
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x94]
cmp ecx, eax
jne 0x4a39b2
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.0047cb00
push 1
lea ecx, [esp + 0x40]
push ebp
push ecx
mov ecx, esi
call fcn.004a6630
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.004a0740
jmp 0x4a3a94
or edi, 0xffffffff
jmp 0x4a39ba
jle 0x4a39ba
dec edi
lea ecx, [esi + 0xb8]
mov dword [ecx + 0x10], ebp
mov eax, dword [esi + 0xb4]
cmp eax, ebp
jne 0x4a39d1
xor edx, edx
jmp 0x4a39d7
mov edx, dword [esi + 0xac]
push eax
push edx
call fcn.004739d0
cmp edi, 0xffffffff
je 0x4a39f2
mov edx, dword [esi + 0x90]
push edi
push edx
mov ecx, esi
call fcn.004a6930
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x90]
push ebp
push eax
push edi
push ecx
mov ecx, esi
call fcn.004a0880
mov edx, dword [esi + 0x74]
mov dword [esi + 0x98], edi
mov dword [esi + 0x9c], edx
jmp 0x4a3a3b
cmp dword [esp + 0x10], ebp
je 0x4a3a3b
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.004a0740
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 0x74]
cmp eax, edi
jne 0x4a3a51
mov eax, dword [esi + 0x78]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
je 0x4a3a94
mov eax, dword [esi + 0x5c]
cmp dword [eax + 0x2d8], 1
je 0x4a3a94
cmp dword [eax + 0x2d4], ebp
jne 0x4a3a94
cmp dword [0x59a4e4], 0xffffffff
jne 0x4a3a7d
lea ecx, [esp + 0x50]
push ecx
mov ecx, 0x59a4e0
call fcn.004e7b20
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.00473310
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x3c]
call fcn.00473310
mov eax, 1
jmp 0x4a3b01
mov esi, 0x54d7d0
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 0
mov dword [esp + 0x50], esi
call fcn.00473310
lea ecx, [esp + 0x3c]
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x3c], esi
call fcn.00473310
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