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

Disassembly:
push 0xffffffffffffffff
push 0x5ef048
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.004918b0
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.0049b470
mov edi, dword [esp + 0x88]
cmp edi, 0x1010023
jne 0x4c32f5
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.00491ab0
lea ecx, [esi + 0xb8]
call fcn.00491ab0
push SysReAllocString
push ebp
mov ecx, esi
call fcn.004c76c0
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], 0x5f7940
jmp 0x4c446d
xor ecx, ecx
mov eax, 0x66980c
mov dword [esp + 0x14], ecx
mov ebx, 4
cmp edi, dword [eax]
je 0x4c3314
add eax, ebx
cmp eax, 0x669824
jl 0x4c3305
jmp 0x4c331d
mov ecx, 1
mov dword [esp + 0x14], ecx
cmp ecx, ebp
mov dword [esp + 0x10], ebp
jne 0x4c3440
cmp edi, 0x101001b
je 0x4c335d
cmp edi, 0x101001c
je 0x4c335d
mov eax, 0x669824
cmp edi, dword [eax]
je 0x4c3350
add eax, ebx
cmp eax, 0x66983c
jl 0x4c333e
jmp 0x4c34c5
mov dword [esp + 0x10], 1
jmp 0x4c3427
mov ecx, dword [0x6707bc]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 1
call fcn.005bb47c
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.004b6400
cmp eax, ebp
je 0x4c33fa
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.004b6ca0
mov ecx, dword [eax]
cmp edi, 0x101001b
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
jne 0x4c33d6
xor edx, edx
cmp eax, ebp
sete dl
jmp 0x4c33e2
mov ecx, dword [esp + 0x6c]
xor edx, edx
dec ecx
cmp eax, ecx
setge dl
mov eax, edx
cmp eax, ebp
je 0x4c33f2
mov dword [esp + 0x14], 1
jmp 0x4c33fa
mov dword [esp + 0x10], 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 1
call fcn.005bb4af
lea ecx, [esp + 0x18]
mov byte [esp + 0x80], 0
call fcn.005bc421
cmp dword [esp + 0x10], 1
jne 0x4c34bb
cmp dword [esi + 0x90], 0xffffffff
je 0x4c34bb
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], ebp
mov ecx, dword [esi + 0x90]
or eax, 0xffffffff
cmp ecx, eax
je 0x4c346a
cmp dword [esi + 0x98], eax
je 0x4c3527
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x9c]
cmp eax, ecx
je 0x4c3527
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.00491ab0
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 0x4c3508
xor ecx, ecx
jmp 0x4c350e
cmp dword [esp + 0x14], ebp
jne 0x4c3440
xor ecx, ecx
mov eax, 0x6697c8
cmp edi, dword [eax]
je 0x4c34da
add eax, ebx
inc ecx
cmp eax, 0x66980c
jl 0x4c34cc
cmp ecx, 0x11
jne 0x4c34f9
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.004c73c0
cmp dword [esp + 0x10], ebp
je 0x4c3527
mov edx, dword [esi + 0x7c]
mov dword [esp + 0x2c], edx
jmp 0x4c3527
mov ecx, dword [esi + 0xc0]
push eax
push ecx
mov ecx, edi
call fcn.00492170
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.004918b0
mov eax, dword [esi + 0x5c]
mov byte [esp + 0x80], 3
cmp dword [eax + 0x354], 1
je 0x4c3569
cmp dword [eax + 0x350], ebp
jne 0x4c3569
mov eax, dword [esi]
lea ecx, [esp + 0x50]
push ecx
mov ecx, esi
call dword [eax + 0xd0]
lea eax, [edi - 0x1010001]
cmp eax, 0x43
ja case.0x4c3578.16842767
jmp dword [eax*4 + 0x4c44c8]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
push ebp
push 1
push ebp
push edx
push eax
mov ecx, esi
call fcn.004c63e0
jmp 0x4c42b4
cmp dword [esi + 0x90], 0xffffffff
je case.0x4c3578.16842753
mov eax, dword [esi + 0x98]
cmp eax, 0xffffffff
je case.0x4c3578.16842753
cmp eax, dword [esi + 0x74]
jne case.0x4c3578.16842753
mov ecx, esi
call fcn.004cccb0
mov ecx, dword [esi + 0x74]
dec eax
cmp ecx, eax
je 0x4c42a2
cmp edi, 0x1010001
je 0x4c36ae
cmp edi, 0x101001b
je 0x4c36ae
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004cccb0
dec eax
cmp edi, eax
jne 0x4c36a7
cmp dword [esp + 0x88], 0x1010002
jne 0x4c42a2
push ebp
push ebp
push ebp
lea ecx, [esp + 0x2c]
push ebp
lea edx, [esp + 0xa4]
push ecx
push edx
push ebp
push ebp
push edi
mov ecx, esi
call fcn.0049ce70
cmp eax, 0xd
jne 0x4c42a2
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0xcc], ebp
jne 0x4c363e
xor edx, edx
jmp 0x4c3644
mov edx, dword [ecx + 0xc4]
cmp dword [ecx + 0x68], ebp
jne 0x4c364d
xor eax, eax
jmp 0x4c3650
mov eax, dword [ecx + 0x60]
mov edi, dword [esp + 0x20]
mov eax, dword [eax + edi*4]
lea edi, [eax + edx]
push edi
call fcn.004ee940
cmp eax, 1
jne 0x4c42a2
cmp byte [edi], 0x6a
jne 0x4c367e
lea ecx, [edi + 1]
call fcn.004eb270
test eax, eax
jne 0x4c42a2
mov eax, dword [esi]
push ebp
push ebp
push 2
push 0x2020002
mov ecx, esi
call dword [eax + 0xe0]
mov ecx, dword [esi + 0x74]
push ebp
push 1
push ebp
inc ecx
push ebp
push ecx
mov ecx, esi
call fcn.004c63e0
jmp 0x4c42a2
mov edi, 1
jmp 0x4c36ba
cmp dword [esi + 0x74], ebp
je 0x4c42a2
or edi, 0xffffffff
mov edx, dword [0x6707bc]
mov dword [esp + 0x90], edx
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], bl
call fcn.005bb47c
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x64]
push eax
mov eax, dword [esi + 0x78]
push ebp
lea edx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 0x74]
push edx
push eax
push ecx
mov ecx, esi
mov byte [esp + 0x98], 5
call fcn.004b6400
cmp eax, ebp
je 0x4c377e
lea edx, [esp + 0x64]
lea ecx, [esp + 0x34]
push edx
push eax
mov eax, dword [esi + 0x80]
push eax
push ecx
mov ecx, esi
call fcn.004b6ca0
mov ecx, dword [eax]
cmp edi, 0xffffffff
mov dword [esp + 0x24], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
jne 0x4c376c
cmp eax, ebp
jle 0x4c377e
lea edx, [esp + 0x3c]
dec eax
push edx
push ecx
push eax
mov ecx, esi
call fcn.004b6540
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], bl
call fcn.005bb4af
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.005bc421
jmp 0x4c42a2
mov edx, dword [esp + 0x6c]
dec edx
cmp eax, edx
jge 0x4c377e
lea edx, [esp + 0x3c]
inc eax
push edx
push ecx
jmp 0x4c373b
lea eax, [esp + 0x24]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, esi
call fcn.004b6aa0
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.004c63e0
push 1
push ebp
push ebp
mov ecx, esi
call fcn.004c6e30
test eax, eax
je 0x4c37c6
push ebp
push ebp
lea edx, [esp + 0x44]
push ebp
push edx
mov ecx, esi
call fcn.0049b470
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.004c0b30
jmp 0x4c3743
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
push ebp
mov ecx, esi
call fcn.004c63e0
jmp 0x4c42a2
mov ecx, esi
call fcn.004cccb0
mov edi, eax
push ebp
dec edi
mov ecx, esi
push edi
call fcn.004ba680
cmp eax, 0xffffffff
je 0x4c382d
push eax
mov ecx, esi
call fcn.004c7340
push ebp
push 1
push ebp
push ebp
push edi
mov ecx, esi
call fcn.004c63e0
jmp 0x4c42a2
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
push ebp
push edi
mov ecx, esi
call fcn.004c63e0
jmp 0x4c42a2
mov eax, dword [esi + 0x74]
push ebp
lea edx, [esp + 0x40]
push 1
push edx
push ebp
push eax
mov ecx, esi
call fcn.004c63e0
jmp 0x4c42a2
mov edx, dword [esi + 0x74]
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
push SysReAllocString
push edx
mov ecx, esi
call fcn.004c63e0
jmp 0x4c42a2
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4c389a
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.004c63e0
jmp 0x4c42a2
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4c42a2
push ebp
lea ecx, [esp + 0x40]
push 1
push ecx
dec eax
push SysReAllocString
push eax
mov ecx, esi
call fcn.004c63e0
jmp 0x4c42a2
mov edx, dword [0x6707bc]
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.004b6400
cmp eax, ebp
je 0x4c399c
mov eax, dword [esi + 0x80]
mov ecx, dword [esp + 0x94]
cmp eax, ecx
jg 0x4c398b
cmp edi, 0x101003c
jne 0x4c3934
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.005bc421
jmp 0x4c42a2
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4c395f
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.004c63e0
lea ecx, [esp + 0x3c]
push 1
push ecx
push ebp
push SysReAllocString
jmp 0x4c3995
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4c399c
push ebp
lea edx, [esp + 0x40]
push 1
push edx
dec eax
push SysReAllocString
push eax
mov ecx, esi
call fcn.004c63e0
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push SysReAllocString
jmp 0x4c3995
lea ecx, [esp + 0x3c]
push 1
push ecx
dec eax
push ebp
push eax
mov ecx, esi
call fcn.004b67f0
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.005bc421
jmp 0x4c42a2
mov edx, dword [0x6707bc]
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.004b6400
cmp eax, ebp
je 0x4c3ab8
mov ecx, dword [esp + 0x90]
mov eax, dword [esi + 0x80]
mov ecx, dword [ecx - 8]
cmp eax, ecx
jne 0x4c3aa8
cmp dword [esp + 0x88], 0x101003d
jne 0x4c3a2e
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.005bc421
jmp 0x4c42a2
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.0049ce70
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x78]
dec ecx
cmp eax, ecx
jge 0x4c3a7d
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.004c63e0
lea ecx, [esp + 0x3c]
push ebp
push ecx
push ebp
push ebp
jmp 0x4c3ab1
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004cccb0
dec eax
cmp edi, eax
jge 0x4c3ab8
push ebp
lea edx, [esp + 0x40]
push 1
push edx
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004c63e0
lea eax, [esp + 0x3c]
push ebp
push eax
push ebp
push ebp
jmp 0x4c3ab1
lea ecx, [esp + 0x3c]
push ebp
push ecx
inc eax
push ebp
push eax
mov ecx, esi
call fcn.004b67f0
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.005bc421
jmp 0x4c42a2
lea edx, [esp + 0x3c]
push 1
push edx
push ebp
push ebp
mov ecx, esi
call fcn.004b67f0
jmp 0x4c42a2
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push SysReAllocString
mov ecx, esi
call fcn.004b67f0
jmp 0x4c42a2
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.0049ce70
cmp eax, 0xd
jne 0x4c42a2
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0xcc], ebp
jne 0x4c3b40
xor edx, edx
jmp 0x4c3b46
mov edx, dword [ecx + 0xc4]
cmp dword [ecx + 0x68], ebp
jne 0x4c3b4f
xor eax, eax
jmp 0x4c3b52
mov eax, dword [ecx + 0x60]
mov edi, dword [esp + 0x90]
mov eax, dword [eax + edi*4]
add eax, edx
push eax
call fcn.004ee940
test al, 2
je 0x4c42a2
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x20]
push ebp
push ecx
mov ecx, dword [esp + 0x9c]
push ebp
push edx
call fcn.004ec7d0
cmp eax, 1
jne 0x4c42a2
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x4c42a2
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.004c63e0
jmp 0x4c42a2
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.0049ce70
mov edx, dword [esp + 0x90]
mov eax, dword [esi + 0x78]
dec edx
cmp eax, edx
jge 0x4c3c03
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.004c63e0
jmp 0x4c42a2
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004cccb0
dec eax
cmp edi, eax
jge 0x4c42a2
push ebp
lea eax, [esp + 0x40]
push 1
push eax
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004c63e0
jmp 0x4c42a2
mov ecx, dword [0x6707bc]
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.004b6400
cmp eax, ebp
je 0x4c3f28
cmp edi, 0x101003a
je 0x4c3c7c
cmp edi, 0x1010040
jne 0x4c3cf7
mov ecx, dword [esi + 0x80]
mov eax, dword [esp + 0x24]
cmp ecx, eax
jg 0x4c3cf7
cmp edi, 0x1010040
je 0x4c3dc0
mov eax, dword [esi + 0x78]
cmp eax, ebp
jle 0x4c3cc4
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.004c63e0
lea ecx, [esp + 0x3c]
push 1
push ecx
push ebp
push SysReAllocString
jmp 0x4c3db9
mov eax, dword [esi + 0x74]
cmp eax, ebp
jle 0x4c3dc0
push ebp
lea edx, [esp + 0x40]
push 1
push edx
dec eax
push SysReAllocString
push eax
mov ecx, esi
call fcn.004c63e0
lea eax, [esp + 0x3c]
push 1
push eax
push ebp
push SysReAllocString
jmp 0x4c3db9
mov edi, dword [esp + 0x90]
mov ecx, dword [esi + 0x80]
mov eax, dword [edi - 8]
cmp ecx, eax
mov ecx, dword [esp + 0x88]
jl 0x4c3ddf
cmp ecx, 0x1010041
jne 0x4c3d37
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.005bc421
jmp 0x4c42a2
cmp ecx, 0x101003b
jne 0x4c3dd9
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.0049ce70
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x78]
dec ecx
cmp eax, ecx
jge 0x4c3d90
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.004c63e0
lea ecx, [esp + 0x3c]
push ebp
push ecx
jmp 0x4c3db7
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004cccb0
dec eax
cmp edi, eax
jge 0x4c3dc0
push ebp
lea edx, [esp + 0x40]
push 1
push edx
inc edi
push ebp
push edi
mov ecx, esi
call fcn.004c63e0
lea eax, [esp + 0x3c]
push ebp
push eax
push ebp
push ebp
mov ecx, esi
call fcn.004b67f0
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.005bc421
jmp 0x4c42a2
mov dword [esi + 0x80], eax
cmp ecx, 0x1010040
jne 0x4c3dee
mov ecx, 0x101003a
jmp 0x4c3dfb
cmp ecx, 0x1010041
jne 0x4c3e02
mov ecx, 0x101003b
mov dword [esp + 0x88], ecx
mov edx, dword [esi + 0x80]
cmp ecx, 0x101003a
mov al, 0x20
jne 0x4c3e21
cmp edx, ebp
jle 0x4c3e21
cmp byte [edi + edx - 1], al
jne 0x4c3e21
dec edx
cmp edx, ebp
jg 0x4c3e16
xor eax, eax
or ebp, 0xffffffff
add edx, edi
mov ecx, edi
mov dword [esp + 0x94], edx
cmp dword [esp + 0x88], 0x101003a
jne 0x4c3e4b
cmp ecx, dword [esp + 0x94]
jae 0x4c3ee6
mov dl, byte [ecx]
test dl, dl
je 0x4c3ee2
cmp dl, 0x41
jl 0x4c3e5f
cmp dl, 0x5a
jle 0x4c3ea5
cmp dl, 0x61
jl 0x4c3e69
cmp dl, 0x7a
jle 0x4c3ea5
cmp dl, 0x30
jl 0x4c3e73
cmp dl, 0x39
jle 0x4c3ea5
cmp dl, 0x5f
je 0x4c3ea5
cmp dl, 0xb0
jae 0x4c3ea5
cmp ebp, 2
je 0x4c3ecb
mov ebx, dword [esp + 0x88]
mov eax, ecx
sub eax, edi
cmp ebx, 0x101003b
mov ebp, 2
jne 0x4c3ecb
cmp ecx, dword [esp + 0x94]
ja 0x4c3ee6
jmp 0x4c3ecb
cmp ebp, 1
je 0x4c3ecb
mov ebx, dword [esp + 0x88]
mov eax, ecx
sub eax, edi
cmp ebx, 0x101003b
mov ebp, 1
jne 0x4c3ecb
cmp ecx, dword [esp + 0x94]
ja 0x4c3ee6
test dl, 0x80
je 0x4c3edc
mov dl, byte [ecx + 1]
inc ecx
test dl, dl
je 0x4c3e31
inc ecx
jmp 0x4c3e31
sub ecx, edi
mov eax, ecx
cmp byte [eax + edi], 0x2e
jne 0x4c3ef3
mov edx, eax
jmp 0x4c3e21
cmp dword [esp + 0x88], 0x101003b
jne 0x4c3f15
mov cl, byte [eax + edi]
test cl, cl
je 0x4c3f15
cmp cl, 0x20
jne 0x4c3f15
mov cl, byte [eax + edi + 1]
inc eax
test cl, cl
jne 0x4c3f07
lea ecx, [esp + 0x3c]
push 1
push ecx
push 0
push eax
mov ecx, esi
call fcn.004b67f0
xor ebp, ebp
lea ecx, [esp + 0x90]
mov byte [esp + 0x80], 3
call fcn.005bc421
jmp 0x4c42a2
push ebp
push ebp
push ebp
push 0x1020003
jmp 0x4c3f53
push ebp
push ebp
push ebp
push 0x1020004
mov ecx, esi
call fcn.004c5e70
push 1
push ebp
push 1
mov ecx, esi
call fcn.004c6e30
jmp 0x4c42b4
push ebp
lea edx, [esp + 0x40]
push 1
push edx
push ebp
push 1
mov ecx, esi
call fcn.004b5bd0
push eax
mov ecx, esi
call fcn.004c63e0
jmp 0x4c42b4
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
mov ecx, esi
call fcn.004c6d60
push eax
mov ecx, esi
call fcn.004c63e0
jmp 0x4c42b4
lea ecx, [esp + 0x3c]
push ebp
push ecx
push 0xffffffffffffffff
mov ecx, esi
call fcn.004c5630
jmp 0x4c42a2
lea edx, [esp + 0x3c]
push ebp
push edx
push 1
mov ecx, esi
call fcn.004c5630
jmp 0x4c42a2
lea ecx, [esp + 0x64]
call fcn.004918b0
lea eax, [esp + 0x64]
mov ecx, esi
push eax
push 1
mov byte [esp + 0x88], 9
call fcn.004b5bd0
dec eax
mov ecx, esi
push eax
call fcn.004ba680
mov edi, eax
cmp edi, 0xffffffff
je 0x4c408c
lea ecx, [esp + 0x24]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.004b6aa0
test eax, eax
je 0x4c407b
push 1
push edi
push 1
mov ecx, esi
call fcn.004b5c20
push 1
mov ecx, esi
call fcn.004c5d50
cmp eax, ebp
je 0x4c4038
push edi
mov ecx, eax
call fcn.004c7340
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.004c0c90
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x5f7940
call fcn.00491ab0
jmp 0x4c42ad
push ebp
push ebp
push ebp
push 0x1020007
mov ecx, esi
call fcn.004c5e70
jmp 0x4c405d
push ebp
push 1
push ebp
push ebp
push ebp
mov ecx, esi
call fcn.004c63e0
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x5f7940
call fcn.00491ab0
jmp 0x4c42a2
lea ecx, [esp + 0x64]
call fcn.004918b0
lea eax, [esp + 0x64]
mov ecx, esi
push eax
mov byte [esp + 0x84], 0xa
call fcn.004ba430
mov edi, eax
cmp edi, 0xffffffff
je 0x4c4169
lea ecx, [esp + 0x24]
lea edx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.004b6aa0
test eax, eax
je 0x4c413c
push 1
push edi
push 1
mov ecx, esi
call fcn.004b5c20
push 1
mov ecx, esi
call fcn.004c5d50
cmp eax, ebp
je 0x4c4115
push edi
mov ecx, eax
call fcn.004c7340
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.004c0c90
jmp 0x4c414b
push ebp
push ebp
push ebp
push 0x1020008
mov ecx, esi
call fcn.004c5e70
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x5f7940
call fcn.00491ab0
jmp 0x4c42ad
push ebp
lea eax, [esp + 0x40]
push 1
push eax
push ebp
mov ecx, esi
call fcn.004cccb0
dec eax
mov ecx, esi
push eax
call fcn.004c63e0
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 3
mov dword [esp + 0x64], 0x5f7940
call fcn.00491ab0
jmp 0x4c42a2
lea ecx, [esp + 0x3c]
push ecx
push ebp
push 0xffffffffffffffff
mov ecx, esi
call fcn.004cae20
jmp 0x4c42a2
lea edx, [esp + 0x3c]
mov ecx, esi
push edx
push 0xffffffffffffffff
call fcn.004cb280
jmp 0x4c42a2
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x3c]
push eax
push ebp
push ecx
mov ecx, esi
call fcn.004cae20
jmp 0x4c42a2
mov eax, dword [esp + 0x90]
lea edx, [esp + 0x3c]
push edx
push eax
mov ecx, esi
call fcn.004cb280
jmp 0x4c42a2
mov edx, dword [esp + 0x90]
xor ecx, ecx
cmp edi, 0x1010030
push 1
sete cl
push ecx
push edx
mov ecx, esi
call fcn.004c48c0
jmp 0x4c42a2
push edi
mov ecx, esi
call fcn.004c4610
jmp 0x4c42a2
lea eax, [esp + 0x3c]
mov ecx, esi
push eax
push 1
push 0xffffffffffffffff
call fcn.004cae20
jmp 0x4c42a2
mov ecx, esi
call fcn.004cb1a0
jmp 0x4c42a2
mov ecx, esi
call fcn.004cb240
jmp 0x4c42a2
push ebp
push 1
mov ecx, esi
call fcn.004cccd0
jmp 0x4c42a2
mov ecx, dword [esi + 0x5c]
push ebp
call fcn.004615e0
jmp 0x4c42a2
cmp dword [esi + 0x3c], 1
jne 0x4c42a2
mov eax, dword [esi + 0x54]
cmp dword [eax + 0x40], ebp
je 0x4c42a2
mov edx, dword [eax + 0x40]
lea ecx, [esp + 0x90]
push ebp
push ecx
mov ecx, dword [esi + 0x5c]
push edx
add ecx, 0x2b8
call fcn.004f4970
test eax, eax
je 0x4c42a2
mov eax, dword [esp + 0x90]
mov ecx, 0x6756e0
push eax
push 5
call fcn.00409c10
push 1
push ebp
push ebp
mov ecx, esi
call fcn.004c6e30
mov edi, dword [esp + 0x88]
cmp dword [esp + 0x14], 1
jne 0x4c43ca
cmp edi, 0x101001b
je 0x4c4305
mov eax, dword [esp + 0x88]
cmp eax, 0x101001d
je 0x4c4305
cmp eax, 0x101001f
je 0x4c4305
cmp eax, 0x1010021
je 0x4c4305
mov edi, dword [esi + 0x74]
mov ecx, esi
call fcn.004cccb0
dec eax
cmp edi, eax
jne 0x4c4305
cmp dword [esp + 0x88], 0x101001c
jne 0x4c436a
cmp dword [esp + 0x18], edi
je 0x4c436a
mov edi, dword [esi + 0x74]
mov eax, dword [esi + 0x90]
cmp edi, eax
jne 0x4c4367
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x94]
cmp ecx, eax
jne 0x4c4362
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.0049b470
push 1
lea ecx, [esp + 0x40]
push ebp
push ecx
mov ecx, esi
call fcn.004c73c0
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.004c1040
jmp 0x4c4444
or edi, 0xffffffff
jmp 0x4c436a
jle 0x4c436a
dec edi
lea ecx, [esi + 0xb8]
mov dword [ecx + 0x10], ebp
mov eax, dword [esi + 0xb4]
cmp eax, ebp
jne 0x4c4381
xor edx, edx
jmp 0x4c4387
mov edx, dword [esi + 0xac]
push eax
push edx
call fcn.00492170
cmp edi, 0xffffffff
je 0x4c43a2
mov edx, dword [esi + 0x90]
push edi
push edx
mov ecx, esi
call fcn.004c76c0
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x90]
push ebp
push eax
push edi
push ecx
mov ecx, esi
call fcn.004c1180
mov edx, dword [esi + 0x74]
mov dword [esi + 0x98], edi
mov dword [esi + 0x9c], edx
jmp 0x4c43eb
cmp dword [esp + 0x10], ebp
je 0x4c43eb
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.004c1040
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 0x74]
cmp eax, edi
jne 0x4c4401
mov eax, dword [esi + 0x78]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
je 0x4c4444
mov eax, dword [esi + 0x5c]
cmp dword [eax + 0x354], 1
je 0x4c4444
cmp dword [eax + 0x350], ebp
jne 0x4c4444
cmp dword [0x67625c], 0xffffffff
jne 0x4c442d
lea ecx, [esp + 0x50]
push ecx
mov ecx, 0x676258
call fcn.0050be60
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, 0x5f7940
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 0
mov dword [esp + 0x50], esi
call fcn.00491ab0
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x3c]
call fcn.00491ab0
mov eax, 1
jmp 0x4c44b1
mov esi, 0x5f7940
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 0
mov dword [esp + 0x50], esi
call fcn.00491ab0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x3c], esi
call fcn.00491ab0
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