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

Disassembly:
push 0xffffffffffffffff
push 0x556b68
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.00477cf0
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.00481730
mov edi, dword [esp + 0x88]
cmp edi, 0x1010023
jne 0x4a75c5
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.00477ef0
lea ecx, [esi + 0xb8]
call fcn.00477ef0
push SysReAllocString
push ebp
mov ecx, esi
call fcn.004ab5c0
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], 0x55f890
jmp 0x4a875d
xor ecx, ecx
mov eax, 0x5a68fc
mov dword [esp + 0x14], ecx
mov ebx, 4
cmp edi, dword [eax]
je 0x4a75e4
add eax, ebx
cmp eax, 0x5a6914
jl 0x4a75d5
jmp 0x4a75ed
mov ecx, 1
mov dword [esp + 0x14], ecx
cmp ecx, ebp
mov dword [esp + 0x10], ebp
jne 0x4a7710
cmp edi, 0x101001b
je 0x4a762d
cmp edi, 0x101001c
je 0x4a762d
mov eax, 0x5a6914
cmp edi, dword [eax]
je 0x4a7620
add eax, ebx
cmp eax, 0x5a692c
jl 0x4a760e
jmp 0x4a7795
mov dword [esp + 0x10], 1
jmp 0x4a76f7
mov ecx, dword [0x5ada84]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 1
call fcn.0052704c
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.0049ae50
cmp eax, ebp
je 0x4a76ca
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.0049b690
mov ecx, dword [eax]
cmp edi, 0x101001b
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
jne 0x4a76a6
xor edx, edx
cmp eax, ebp
sete dl
jmp 0x4a76b2
mov ecx, dword [esp + 0x6c]
xor edx, edx
dec ecx
cmp eax, ecx
setge dl
mov eax, edx
cmp eax, ebp
je 0x4a76c2
mov dword [esp + 0x14], 1
jmp 0x4a76ca
mov dword [esp + 0x10], 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 1
call fcn.0052707f
lea ecx, [esp + 0x18]
mov byte [esp + 0x80], 0
call fcn.00527eff
cmp dword [esp + 0x10], 1
jne 0x4a778b
cmp dword [esi + 0x90], 0xffffffff
je 0x4a778b
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ebp
mov ecx, dword [esi + 0x90]
or eax, 0xffffffff
cmp ecx, eax
je 0x4a773a
cmp dword [esi + 0x98], eax
je 0x4a77f7
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x9c]
cmp eax, ecx
je 0x4a77f7
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.00477ef0
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 0x4a77d8
xor ecx, ecx
jmp 0x4a77de
cmp dword [esp + 0x14], ebp
jne 0x4a7710
xor ecx, ecx
mov eax, 0x5a68c0
cmp edi, dword [eax]
je 0x4a77aa
add eax, ebx
inc ecx
cmp eax, 0x5a68fc
jl 0x4a779c
cmp ecx, 0xf
jne 0x4a77c9
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.004ab2c0
cmp dword [esp + 0x10], ebp
je 0x4a77f7
mov edx, dword [esi + 0x7c]
mov dword [esp + 0x2c], edx
jmp 0x4a77f7
mov ecx, dword [esi + 0xc0]
push eax
push ecx
mov ecx, edi
call fcn.004785b0
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.00477cf0
mov eax, dword [esi + 0x5c]
mov byte [esp + 0x80], 3
cmp dword [eax + 0x2d8], 1
je 0x4a7839
cmp dword [eax + 0x2d4], ebp
jne 0x4a7839
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.0x4a7850.16842786
xor edx, edx
mov dl, byte [eax + 0x4a8840]
jmp dword [edx*4 + 0x4a87b8]
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.004aa310
jmp 0x4a85a4
cmp dword [esi + 0x90], 0xffffffff
je case.0x4a7850.16842753
mov eax, dword [esi + 0x98]
cmp eax, 0xffffffff
je case.0x4a7850.16842753
cmp eax, dword [esi + 0x74]
jne case.0x4a7850.16842753
mov ecx, esi
call fcn.004b05d0
mov ecx, dword [esi + 0x74]
dec eax
cmp ecx, eax
je 0x4a8592
cmp edi, 0x1010001
je 0x4a7986
cmp edi, 0x101001b
je 0x4a7986
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004b05d0
dec eax
cmp edi, eax
jne 0x4a797f
cmp dword [esp + 0x88], 0x1010002
jne 0x4a8592
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.00483120
cmp eax, 0xd
jne 0x4a8592
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0xcc], ebp
jne 0x4a7916
xor edx, edx
jmp 0x4a791c
mov edx, dword [ecx + 0xc4]
cmp dword [ecx + 0x68], ebp
jne 0x4a7925
xor eax, eax
jmp 0x4a7928
mov eax, dword [ecx + 0x60]
mov edi, dword [esp + 0x20]
mov eax, dword [eax + edi*4]
lea edi, [eax + edx]
push edi
call fcn.004d1ff0
cmp eax, 1
jne 0x4a8592
cmp byte [edi], 0x6a
jne 0x4a7956
lea ecx, [edi + 1]
call fcn.004ceb70
test eax, eax
jne 0x4a8592
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.004aa310
jmp 0x4a8592
mov edi, 1
jmp 0x4a7992
cmp dword [esi + 0x74], ebp
je 0x4a8592
or edi, 0xffffffff
mov ecx, dword [0x5ada84]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], bl
call fcn.0052704c
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.0049ae50
cmp eax, ebp
je 0x4a7a56
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.0049b690
mov ecx, dword [eax]
cmp edi, 0xffffffff
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
jne 0x4a7a44
cmp eax, ebp
jle 0x4a7a56
lea edx, [esp + 0x3c]
dec eax
push edx
push ecx
push eax
mov ecx, esi
call fcn.0049af80
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], bl
call fcn.0052707f
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00527eff
jmp 0x4a8592
mov edx, dword [esp + 0x6c]
dec edx
cmp eax, edx
jge 0x4a7a56
lea edx, [esp + 0x3c]
inc eax
push edx
push ecx
jmp 0x4a7a13
lea eax, [esp + 0x24]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, esi
call fcn.0049b490
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.004aa310
push 1
push ebp
push ebp
mov ecx, esi
call fcn.004aad40
test eax, eax
je 0x4a7a9e
push ebp
push ebp
lea edx, [esp + 0x44]
push ebp
push edx
mov ecx, esi
call fcn.00481730
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.004a4ed0
jmp 0x4a7a1b
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
push ebp
mov ecx, esi
call fcn.004aa310
jmp 0x4a8592
mov ecx, esi
call fcn.004b05d0
mov edi, eax
push ebp
dec edi
mov ecx, esi
push edi
call fcn.0049e4c0
cmp eax, 0xffffffff
je 0x4a7b05
push eax
mov ecx, esi
call fcn.004ab240
push ebp
push 1
push ebp
push ebp
push edi
mov ecx, esi
call fcn.004aa310
jmp 0x4a8592
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
push ebp
push edi
mov ecx, esi
call fcn.004aa310
jmp 0x4a8592
mov eax, dword [esi + 0x74]
push ebp
lea edx, [esp + 0x40]
push 1
push edx
push ebp
push eax
mov ecx, esi
call fcn.004aa310
jmp 0x4a8592
mov edx, dword [esi + 0x74]
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
push SysReAllocString
push edx
mov ecx, esi
call fcn.004aa310
jmp 0x4a8592
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a7b72
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.004aa310
jmp 0x4a8592
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a8592
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
dec eax
push SysReAllocString
push eax
mov ecx, esi
call fcn.004aa310
jmp 0x4a8592
mov edx, dword [0x5ada84]
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.0049ae50
cmp eax, ebp
je 0x4a7c74
mov eax, dword [esi + 0x80]
mov ecx, dword [esp + 0x94]
cmp eax, ecx
jg 0x4a7c63
cmp edi, 0x101003c
jne 0x4a7c0c
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00527eff
jmp 0x4a8592
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a7c37
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.004aa310
lea ecx, [esp + 0x3c]
push 1
push ecx
push ebp
push SysReAllocString
jmp 0x4a7c6d
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a7c74
push ebp
lea edx, [esp + 0x40]
push 1
push edx
dec eax
push SysReAllocString
push eax
mov ecx, esi
call fcn.004aa310
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push SysReAllocString
jmp 0x4a7c6d
lea ecx, [esp + 0x3c]
push 1
push ecx
dec eax
push ebp
push eax
mov ecx, esi
call fcn.0049b230
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00527eff
jmp 0x4a8592
mov edx, dword [0x5ada84]
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.0049ae50
cmp eax, ebp
je 0x4a7d90
mov ecx, dword [esp + 0x90]
mov eax, dword [esi + 0x80]
mov ecx, dword [ecx - 8]
cmp eax, ecx
jne 0x4a7d80
cmp dword [esp + 0x88], 0x101003d
jne 0x4a7d06
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00527eff
jmp 0x4a8592
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.00483120
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x78]
dec ecx
cmp eax, ecx
jge 0x4a7d55
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.004aa310
lea ecx, [esp + 0x3c]
push ebp
push ecx
push ebp
push ebp
jmp 0x4a7d89
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004b05d0
dec eax
cmp edi, eax
jge 0x4a7d90
push ebp
lea edx, [esp + 0x40]
push 1
push edx
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004aa310
lea eax, [esp + 0x3c]
push ebp
push eax
push ebp
push ebp
jmp 0x4a7d89
lea ecx, [esp + 0x3c]
push ebp
push ecx
inc eax
push ebp
push eax
mov ecx, esi
call fcn.0049b230
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00527eff
jmp 0x4a8592
lea edx, [esp + 0x3c]
push 1
push edx
push ebp
push ebp
mov ecx, esi
call fcn.0049b230
jmp 0x4a8592
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push SysReAllocString
mov ecx, esi
call fcn.0049b230
jmp 0x4a8592
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.00483120
cmp eax, 0xd
jne 0x4a8592
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0xcc], ebp
jne 0x4a7e18
xor edx, edx
jmp 0x4a7e1e
mov edx, dword [ecx + 0xc4]
cmp dword [ecx + 0x68], ebp
jne 0x4a7e27
xor eax, eax
jmp 0x4a7e2a
mov eax, dword [ecx + 0x60]
mov edi, dword [esp + 0x90]
mov eax, dword [eax + edi*4]
add eax, edx
push eax
call fcn.004d1ff0
test al, 2
je 0x4a8592
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x20]
push ebp
push ecx
mov ecx, dword [esp + 0x9c]
push ebp
push edx
call fcn.004d0060
cmp eax, 1
jne 0x4a8592
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x4a8592
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.004aa310
jmp 0x4a8592
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.00483120
mov edx, dword [esp + 0x90]
mov eax, dword [esi + 0x78]
dec edx
cmp eax, edx
jge 0x4a7edb
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.004aa310
jmp 0x4a8592
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004b05d0
dec eax
cmp edi, eax
jge 0x4a8592
push ebp
lea eax, [esp + 0x40]
push 1
push eax
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004aa310
jmp 0x4a8592
mov ecx, dword [0x5ada84]
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.0049ae50
cmp eax, ebp
je 0x4a8200
cmp edi, 0x101003a
je 0x4a7f54
cmp edi, 0x1010040
jne 0x4a7fcf
mov ecx, dword [esi + 0x80]
mov eax, dword [esp + 0x24]
cmp ecx, eax
jg 0x4a7fcf
cmp edi, 0x1010040
je 0x4a8098
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4a7f9c
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.004aa310
lea ecx, [esp + 0x3c]
push 1
push ecx
push ebp
push SysReAllocString
jmp 0x4a8091
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4a8098
push ebp
lea edx, [esp + 0x40]
push 1
push edx
dec eax
push SysReAllocString
push eax
mov ecx, esi
call fcn.004aa310
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push SysReAllocString
jmp 0x4a8091
mov edi, dword [esp + 0x90]
mov ecx, dword [esi + 0x80]
mov eax, dword [edi - 8]
cmp ecx, eax
mov ecx, dword [esp + 0x88]
jl 0x4a80b7
cmp ecx, 0x1010041
jne 0x4a800f
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00527eff
jmp 0x4a8592
cmp ecx, 0x101003b
jne 0x4a80b1
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.00483120
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x78]
dec ecx
cmp eax, ecx
jge 0x4a8068
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.004aa310
lea ecx, [esp + 0x3c]
push ebp
push ecx
jmp 0x4a808f
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004b05d0
dec eax
cmp edi, eax
jge 0x4a8098
push ebp
lea edx, [esp + 0x40]
push 1
push edx
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004aa310
lea eax, [esp + 0x3c]
push ebp
push eax
push ebp
push ebp
mov ecx, esi
call fcn.0049b230
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00527eff
jmp 0x4a8592
mov dword [esi + 0x80], eax
cmp ecx, 0x1010040
jne 0x4a80c6
mov ecx, 0x101003a
jmp 0x4a80d3
cmp ecx, 0x1010041
jne 0x4a80da
mov ecx, 0x101003b
mov dword [esp + 0x88], ecx
mov edx, dword [esi + 0x80]
cmp ecx, 0x101003a
mov al, 0x20
jne 0x4a80f9
cmp edx, ebp
jle 0x4a80f9
cmp byte [edi + edx - 1], al
jne 0x4a80f9
dec edx
cmp edx, ebp
jg 0x4a80ee
xor eax, eax
or ebp, 0xffffffff
add edx, edi
mov ecx, edi
mov dword [esp + 0x94], edx
cmp dword [esp + 0x88], 0x101003a
jne 0x4a8123
cmp ecx, dword [esp + 0x94]
jae 0x4a81be
mov dl, byte [ecx]
test dl, dl
je 0x4a81ba
cmp dl, 0x41
jl 0x4a8137
cmp dl, 0x5a
jle 0x4a817d
cmp dl, 0x61
jl 0x4a8141
cmp dl, 0x7a
jle 0x4a817d
cmp dl, 0x30
jl 0x4a814b
cmp dl, 0x39
jle 0x4a817d
cmp dl, 0x5f
je 0x4a817d
cmp dl, 0xb0
jae 0x4a817d
cmp ebp, 2
je 0x4a81a3
mov ebx, dword [esp + 0x88]
mov eax, ecx
sub eax, edi
cmp ebx, 0x101003b
mov ebp, 2
jne 0x4a81a3
cmp ecx, dword [esp + 0x94]
ja 0x4a81be
jmp 0x4a81a3
cmp ebp, 1
je 0x4a81a3
mov ebx, dword [esp + 0x88]
mov eax, ecx
sub eax, edi
cmp ebx, 0x101003b
mov ebp, 1
jne 0x4a81a3
cmp ecx, dword [esp + 0x94]
ja 0x4a81be
test dl, 0x80
je 0x4a81b4
mov dl, byte [ecx + 1]
inc ecx
test dl, dl
je 0x4a8109
inc ecx
jmp 0x4a8109
sub ecx, edi
mov eax, ecx
cmp byte [eax + edi], 0x2e
jne 0x4a81cb
mov edx, eax
jmp 0x4a80f9
cmp dword [esp + 0x88], 0x101003b
jne 0x4a81ed
mov cl, byte [eax + edi]
test cl, cl
je 0x4a81ed
cmp cl, 0x20
jne 0x4a81ed
mov cl, byte [eax + edi + 1]
inc eax
test cl, cl
jne 0x4a81df
lea ecx, [esp + 0x3c]
push 1
push ecx
push 0
push eax
mov ecx, esi
call fcn.0049b230
xor ebp, ebp
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.00527eff
jmp 0x4a8592
push ebp
push ebp
push ebp
push 0x1020003
jmp 0x4a822b
push ebp
push ebp
push ebp
push 0x1020004
mov ecx, esi
call fcn.004a9db0
push 1
push ebp
push 1
mov ecx, esi
call fcn.004aad40
jmp 0x4a85a4
push ebp
lea edx, [esp + 0x40]
push 1
push edx
push ebp
push 1
mov ecx, esi
call fcn.0049a580
push eax
mov ecx, esi
call fcn.004aa310
jmp 0x4a85a4
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
mov ecx, esi
call fcn.004aac70
push eax
mov ecx, esi
call fcn.004aa310
jmp 0x4a85a4
lea ecx, [esp + 0x3c]
push ebp
push ecx
push 0xffffffffffffffff
mov ecx, esi
call fcn.004a9570
jmp 0x4a8592
lea edx, [esp + 0x3c]
push ebp
push edx
push 1
mov ecx, esi
call fcn.004a9570
jmp 0x4a8592
lea ecx, [esp + 0x64]
call fcn.00477cf0
lea eax, [esp + 0x64]
mov ecx, esi
push eax
push 1
mov byte [esp + 0x88], 9
call fcn.0049a580
dec eax
mov ecx, esi
push eax
call fcn.0049e4c0
mov edi, eax
cmp edi, 0xffffffff
je 0x4a8364
lea ecx, [esp + 0x24]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.0049b490
test eax, eax
je 0x4a8353
push 1
push edi
push 1
mov ecx, esi
call fcn.0049a5d0
push 1
mov ecx, esi
call fcn.004a9c90
cmp eax, ebp
je 0x4a8310
push edi
mov ecx, eax
call fcn.004ab240
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.004a5030
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x55f890
call fcn.00477ef0
jmp 0x4a859d
push ebp
push ebp
push ebp
push 0x1020007
mov ecx, esi
call fcn.004a9db0
jmp 0x4a8335
push ebp
push 1
push ebp
push ebp
push ebp
mov ecx, esi
call fcn.004aa310
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x55f890
call fcn.00477ef0
jmp 0x4a8592
lea ecx, [esp + 0x64]
call fcn.00477cf0
lea eax, [esp + 0x64]
mov ecx, esi
push eax
mov byte [esp + 0x84], 0xa
call fcn.0049e270
mov edi, eax
cmp edi, 0xffffffff
je 0x4a8441
lea ecx, [esp + 0x24]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.0049b490
test eax, eax
je 0x4a8414
push 1
push edi
push 1
mov ecx, esi
call fcn.0049a5d0
push 1
mov ecx, esi
call fcn.004a9c90
cmp eax, ebp
je 0x4a83ed
push edi
mov ecx, eax
call fcn.004ab240
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.004a5030
jmp 0x4a8423
push ebp
push ebp
push ebp
push 0x1020008
mov ecx, esi
call fcn.004a9db0
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x55f890
call fcn.00477ef0
jmp 0x4a859d
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
mov ecx, esi
call fcn.004b05d0
dec eax
mov ecx, esi
push eax
call fcn.004aa310
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x55f890
call fcn.00477ef0
jmp 0x4a8592
lea ecx, [esp + 0x3c]
push ecx
push ebp
push 0xffffffffffffffff
mov ecx, esi
call fcn.004aee70
jmp 0x4a8592
lea edx, [esp + 0x3c]
mov ecx, esi
push edx
push 0xffffffffffffffff
call fcn.004af570
jmp 0x4a8592
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x3c]
push eax
push ebp
push ecx
mov ecx, esi
call fcn.004aee70
jmp 0x4a8592
mov eax, dword [esp + 0x90]
lea edx, [esp + 0x3c]
push edx
push eax
mov ecx, esi
call fcn.004af570
jmp 0x4a8592
mov edx, dword [esp + 0x90]
xor ecx, ecx
cmp edi, 0x1010030
push 1
sete cl
push ecx
push edx
mov ecx, esi
call fcn.004a8b70
jmp 0x4a8592
push edi
mov ecx, esi
call fcn.004a88c0
jmp 0x4a8592
lea eax, [esp + 0x3c]
mov ecx, esi
push eax
push 1
push 0xffffffffffffffff
call fcn.004aee70
jmp 0x4a8592
mov ecx, esi
call fcn.004af1f0
jmp 0x4a8592
mov ecx, esi
call fcn.004af290
jmp 0x4a8592
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.00483120
cmp eax, 0xd
jne 0x4a8592
mov ecx, dword [esp + 0x90]
cmp dword [ecx + 0xcc], ebp
jne 0x4a855e
xor edx, edx
jmp 0x4a8564
mov edx, dword [ecx + 0xc4]
cmp dword [ecx + 0x68], ebp
jne 0x4a856d
xor eax, eax
jmp 0x4a8570
mov eax, dword [ecx + 0x60]
mov edi, dword [esp + 0x94]
mov edi, dword [eax + edi*4]
add edi, edx
push edi
call fcn.004d1ff0
test al, 1
je 0x4a8592
push ebp
inc edi
push 1
push edi
mov ecx, esi
call fcn.004b05f0
push 1
push ebp
push ebp
mov ecx, esi
call fcn.004aad40
mov edi, dword [esp + 0x88]
cmp dword [esp + 0x14], 1
jne 0x4a86ba
cmp edi, 0x101001b
je 0x4a85f5
mov eax, dword [esp + 0x88]
cmp eax, 0x101001d
je 0x4a85f5
cmp eax, 0x101001f
je 0x4a85f5
cmp eax, 0x1010021
je 0x4a85f5
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004b05d0
dec eax
cmp edi, eax
jne 0x4a85f5
cmp dword [esp + 0x88], 0x101001c
jne 0x4a865a
cmp dword [esp + 0x18], edi
je 0x4a865a
mov edi, dword [esi + 0x74]
mov eax, dword [esi + 0x90]
cmp edi, eax
jne 0x4a8657
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x94]
cmp ecx, eax
jne 0x4a8652
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.00481730
push 1
lea ecx, [esp + 0x40]
push ebp
push ecx
mov ecx, esi
call fcn.004ab2c0
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.004a53e0
jmp 0x4a8734
or edi, 0xffffffff
jmp 0x4a865a
jle 0x4a865a
dec edi
lea ecx, [esi + 0xb8]
mov dword [ecx + 0x10], ebp
mov eax, dword [esi + 0xb4]
cmp eax, ebp
jne 0x4a8671
xor edx, edx
jmp 0x4a8677
mov edx, dword [esi + 0xac]
push eax
push edx
call fcn.004785b0
cmp edi, 0xffffffff
je 0x4a8692
mov edx, dword [esi + 0x90]
push edi
push edx
mov ecx, esi
call fcn.004ab5c0
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x90]
push ebp
push eax
push edi
push ecx
mov ecx, esi
call fcn.004a5520
mov edx, dword [esi + 0x74]
mov dword [esi + 0x98], edi
mov dword [esi + 0x9c], edx
jmp 0x4a86db
cmp dword [esp + 0x10], ebp
je 0x4a86db
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.004a53e0
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 0x74]
cmp eax, edi
jne 0x4a86f1
mov eax, dword [esi + 0x78]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
je 0x4a8734
mov eax, dword [esi + 0x5c]
cmp dword [eax + 0x2d8], 1
je 0x4a8734
cmp dword [eax + 0x2d4], ebp
jne 0x4a8734
cmp dword [0x5b1cbc], 0xffffffff
jne 0x4a871d
lea ecx, [esp + 0x50]
push ecx
mov ecx, 0x5b1cb8
call fcn.004eeba0
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, 0x55f890
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 0
mov dword [esp + 0x50], esi
call fcn.00477ef0
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x3c]
call fcn.00477ef0
mov eax, 1
jmp 0x4a87a1
mov esi, 0x55f890
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 0
mov dword [esp + 0x50], esi
call fcn.00477ef0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x3c], esi
call fcn.00477ef0
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