Function at 0x4c8600
Capabilities:
Access peb ldr_data
Encode data using xor
Get number of processors
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x908
push ebx
push esi
push edi
xor al, al
mov dword [ebp - 0x1c], edx
lea edi, [ebp - 0xf4]
mov ecx, 0x3c
rep stosb byte es:[edi], al
mov dword [ebp - 0xf4], 0x15
mov dword [ebp - 0xec], 0
test edx, edx
jne 0x4c8e3c
mov dword [ebp - 0x84], 0x57
mov eax, 0x77
mov word [ebp - 0x80], ax
mov word [ebp - 0x7e], ax
mov eax, 0x57
mov word [ebp - 0x7c], ax
movzx eax, word [0x4049ca]
xor eax, 0x57
mov word [ebp - 0x7a], ax
movzx eax, word [0x4049cc]
xor eax, 0x57
mov word [ebp - 0x78], ax
xor eax, eax
mov word [ebp - 0x76], ax
mov ax, word [ebp - 0x80]
mov ax, word [ebp + edx*2 - 0x80]
movzx ecx, ax
movzx eax, word [ebp - 0x84]
xor ecx, eax
mov word [ebp + edx*2 - 0x80], cx
inc edx
cmp edx, 5
jb 0x4c8680
mov ebx, dword [0x4f3810]
xor eax, eax
mov word [ebp - 0x76], ax
test ebx, ebx
jne 0x4c8741
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c8728
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x10]
imul eax, eax, 0x1000193
mov dword [ebp - 0x10], eax
cmp edi, ebx
jne 0x4c86f0
cmp eax, 0xa3e6f6c3
je 0x4c8d6f
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c8739
cmp dword [ecx + 0x18], 0
jne 0x4c86d0
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4f37f4]
test eax, eax
jne 0x4c87de
test ebx, ebx
je 0x4c87d7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x24], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4c87d7
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c87d7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c87c5
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c8790
cmp edi, 0x5e19f4c5
je 0x4c8d7a
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c8780
xor eax, eax
mov dword [0x4f37f4], eax
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp - 0x904]
push ecx
call eax
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x4c8881
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c8868
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x4c8830
cmp eax, 0xa3e6f6c3
je 0x4c8d98
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c8879
cmp dword [ecx + 0x18], 0
jne 0x4c8811
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4f3800]
test eax, eax
jne 0x4c891e
test ebx, ebx
je 0x4c8917
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x24], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4c8917
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c8917
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c8905
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c88d0
cmp edi, 0x2411f733
je 0x4c8da3
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c88c0
xor eax, eax
mov dword [0x4f3800], eax
push dword [ebp + 8]
lea ecx, [ebp - 0x904]
push ecx
call eax
mov ebx, dword [0x4f3810]
lea eax, [ebp - 0x904]
mov dword [ebp - 0xe0], eax
test ebx, ebx
jne 0x4c89d1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c89b8
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x4c8980
cmp eax, 0xa3e6f6c3
je 0x4c8dc1
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c89c9
cmp dword [ecx + 0x18], 0
jne 0x4c8960
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf58]
test eax, eax
jne 0x4c8a72
test ebx, ebx
je 0x4c8a6b
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x24], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4c8a6b
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c8a6b
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c8a59
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c8a24
cmp edi, 0x6f2e8e0a
je 0x4c8dcc
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c8a14
xor eax, eax
mov dword [0x4fbf58], eax
lea ecx, [ebp - 0x904]
push ecx
call eax
mov ecx, 0xc
mov dword [ebp - 0xdc], eax
call fcn.004daeb0
mov esi, eax
mov dword [ebp - 0x24], esi
call fcn.004db550
mov dword [esi], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x814]
mov dword [esi + 8], ecx
mov ebx, dword [0x4f37a8]
test ebx, ebx
jne 0x4c8b41
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c8b28
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x4c8af0
cmp eax, 0xc0323159
je 0x4c8dea
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c8b39
cmp dword [ecx + 0x18], 0
jne 0x4c8ad0
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbb9c]
test eax, eax
jne 0x4c8be2
test ebx, ebx
je 0x4c8bdb
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x14], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4c8bdb
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c8bdb
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c8bc9
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c8b94
cmp edi, 0xd7222356
je 0x4c8df5
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c8b84
xor eax, eax
mov dword [0x4fbb9c], eax
mov ebx, dword [ebp - 0x24]
push dword [ebx + 8]
push 0xffffffffffffffeb
push dword [ebx]
call eax
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x810]
mov dword [ebx + 4], eax
mov edx, dword [esi + 0x800]
mov dword [ebp - 0xd4], ebx
mov ecx, dword [ebx]
call fcn.004dafc0
mov edx, dword [esi + 0x804]
mov ecx, dword [ebx]
call fcn.004db190
mov ebx, dword [0x4f37a8]
test ebx, ebx
jne 0x4c8cb1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c8c98
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x4c8c60
cmp eax, 0xc0323159
je 0x4c8e13
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c8ca9
cmp dword [ecx + 0x18], 0
jne 0x4c8c40
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbffc]
test eax, eax
jne 0x4c8d4f
test ebx, ebx
je 0x4c8d48
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4c8d48
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c8d48
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c8d36
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c8d01
cmp edi, 0xf217dfb
je 0x4c8e1e
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c8cf1
xor eax, eax
mov dword [0x4fbffc], eax
lea ecx, [ebp - 0xf4]
push ecx
push 0
push 0x104d
push dword [0x4fbaa0]
call eax
mov ebx, eax
mov dword [ebp - 0x10], ebx
jmp 0x4c9622
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c873b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c87d9
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c887b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c8919
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c89cb
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c8a6d
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c8b3b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c8bdd
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c8cab
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c8d4a
mov ebx, dword [0x4f37a8]
test ebx, ebx
jne 0x4c8ed1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c8eb8
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x4c8e80
cmp eax, 0xc0323159
je 0x4ca66f
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c8ec9
cmp dword [ecx + 0x18], 0
jne 0x4c8e62
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbffc]
test eax, eax
jne 0x4c8f6f
test ebx, ebx
je 0x4c8f68
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4c8f68
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c8f68
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c8f56
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c8f21
cmp edi, 0xf217dfb
je 0x4ca67a
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c8f11
xor eax, eax
mov dword [0x4fbffc], eax
push 0
push 0
push 0x1004
push dword [0x4fbae0]
call eax
mov ebx, dword [0x4f3810]
mov dword [ebp - 0xf0], eax
test ebx, ebx
jne 0x4c9021
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c9008
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x4c8fd0
cmp eax, 0xa3e6f6c3
je 0x4ca698
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c9019
cmp dword [ecx + 0x18], 0
jne 0x4c8fb0
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbfbc]
test eax, eax
jne 0x4c90bf
test ebx, ebx
je 0x4c90b8
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4c90b8
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c90b8
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c90a6
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c9071
cmp edi, 0x60f680f
je 0x4ca6a3
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c9061
xor eax, eax
mov dword [0x4fbfbc], eax
lea ecx, [ebp - 0x104]
push ecx
call eax
mov ecx, 0x40
call fcn.004daeb0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x74], 0x57
mov eax, dword [ebp - 0x74]
xor eax, 0x5b
mov word [ebp - 0x70], ax
mov eax, dword [ebp - 0x74]
inc eax
xor eax, 0x25
mov word [ebp - 0x6e], ax
mov eax, dword [ebp - 0x74]
add eax, 2
xor eax, 0x30
mov word [ebp - 0x6c], ax
mov eax, dword [ebp - 0x74]
add eax, 3
xor eax, 0x32
mov word [ebp - 0x6a], ax
mov eax, dword [ebp - 0x74]
add eax, 4
xor eax, 0x64
mov word [ebp - 0x68], ax
mov eax, dword [ebp - 0x74]
add eax, 5
xor eax, 0x3a
mov word [ebp - 0x66], ax
mov eax, dword [ebp - 0x74]
add eax, 6
xor eax, 0x25
mov word [ebp - 0x64], ax
mov eax, dword [ebp - 0x74]
add eax, 7
xor eax, 0x30
mov word [ebp - 0x62], ax
mov eax, dword [ebp - 0x74]
add eax, 8
xor eax, 0x32
mov word [ebp - 0x60], ax
mov eax, dword [ebp - 0x74]
add eax, 9
xor eax, 0x64
mov word [ebp - 0x5e], ax
mov eax, dword [ebp - 0x74]
add eax, 0xa
xor eax, 0x3a
mov word [ebp - 0x5c], ax
mov eax, dword [ebp - 0x74]
add eax, 0xb
xor eax, 0x25
mov word [ebp - 0x5a], ax
mov eax, dword [ebp - 0x74]
add eax, 0xc
xor eax, 0x30
mov word [ebp - 0x58], ax
mov eax, dword [ebp - 0x74]
add eax, 0xd
xor eax, 0x32
mov word [ebp - 0x56], ax
mov eax, dword [ebp - 0x74]
add eax, 0xe
xor eax, 0x64
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x74]
add eax, 0xf
xor eax, 0x5d
mov word [ebp - 0x52], ax
mov eax, dword [ebp - 0x74]
add eax, 0x10
mov word [ebp - 0x50], ax
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x4049ee]
add eax, 0x11
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x4e], cx
mov eax, dword [ebp - 0x74]
add eax, 0x12
movzx ecx, word [0x4049f0]
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x4c], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x4049f2]
add eax, 0x13
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x4a], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x4049f4]
add eax, 0x14
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x48], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x4049f6]
add eax, 0x15
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x46], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x4049f8]
add eax, 0x16
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x44], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x4049fa]
add eax, 0x17
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x42], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x4049fc]
add eax, 0x18
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x40], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x4049fe]
add eax, 0x19
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x3e], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x404a00]
add eax, 0x1a
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x3c], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x404a02]
add eax, 0x1b
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x3a], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x404a04]
add eax, 0x1c
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x38], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x404a06]
add eax, 0x1d
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x36], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x404a08]
add eax, 0x1e
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x34], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x404a0a]
add eax, 0x1f
movzx eax, ax
xor ecx, eax
mov word [ebp - 0x32], cx
mov eax, dword [ebp - 0x74]
movzx ecx, word [0x404a0c]
add eax, 0x20
movzx eax, ax
xor ecx, eax
xor eax, eax
mov word [ebp - 0x30], cx
xor edx, edx
mov word [ebp - 0x2e], ax
mov ax, word [ebp - 0x70]
nop dword [eax]
mov ax, word [ebp + edx*2 - 0x70]
mov ecx, dword [ebp - 0x74]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x70], cx
inc edx
cmp edx, 0x21
jb 0x4c9320
xor eax, eax
mov word [ebp - 0x2e], ax
movzx eax, word [ebp - 0xf8]
push eax
movzx eax, word [ebp - 0xfa]
push eax
movzx eax, word [ebp - 0xfc]
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x2c]
push 0x20
push eax
call fcn.004cfcd0
mov ebx, dword [0x4f3810]
add esp, 0x18
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xe0], eax
test ebx, ebx
jne 0x4c9411
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c93f8
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x4c93c0
cmp eax, 0xa3e6f6c3
je 0x4ca6c1
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c9409
cmp dword [ecx + 0x18], 0
jne 0x4c93a0
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf58]
test eax, eax
jne 0x4c94af
test ebx, ebx
je 0x4c94a8
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ebx + ecx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4c94a8
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c94a8
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c9496
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c9461
cmp edi, 0x6f2e8e0a
je 0x4ca6cc
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c9451
xor eax, eax
mov dword [0x4fbf58], eax
push dword [ebp - 0x2c]
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x80c]
mov dword [ebp - 0xd4], eax
test ebx, ebx
jne 0x4c9561
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c9548
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x4c9510
cmp eax, 0xc0323159
je 0x4ca6ea
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c9559
cmp dword [ecx + 0x18], 0
jne 0x4c94f0
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbffc]
test eax, eax
jne 0x4c95ff
test ebx, ebx
je 0x4c95f8
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4c95f8
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c95f8
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c95e6
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c95b1
cmp edi, 0xf217dfb
je 0x4ca6f5
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c95a1
xor eax, eax
mov dword [0x4fbffc], eax
lea ecx, [ebp - 0xf4]
push ecx
push 0
push 0x104d
push dword [0x4fbae0]
call eax
mov ecx, dword [ebp - 0x2c]
mov ebx, eax
mov dword [ebp - 0x10], ebx
call fcn.004dada0
cmp ebx, 0xffffffff
je 0x4cae26
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xf4], 1
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], 1
jne 0x4ca8d3
mov dword [ebp - 0x94], 0x25
mov eax, 5
mov word [ebp - 0x90], ax
mov word [ebp - 0x8e], ax
mov eax, 0x25
mov word [ebp - 0x8c], ax
movzx eax, word [0x4049ca]
xor eax, 0x25
mov word [ebp - 0x8a], ax
movzx eax, word [0x4049cc]
xor eax, 0x25
mov word [ebp - 0x88], ax
xor eax, eax
mov word [ebp - 0x86], ax
xor edx, edx
mov ax, word [ebp - 0x90]
nop dword [eax]
mov ax, word [ebp + edx*2 - 0x90]
movzx ecx, ax
movzx eax, word [ebp - 0x94]
xor ecx, eax
mov word [ebp + edx*2 - 0x90], cx
inc edx
cmp edx, 5
jb 0x4c96b0
mov ebx, dword [0x4f3810]
xor eax, eax
mov word [ebp - 0x86], ax
test ebx, ebx
jne 0x4c9771
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c9758
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x4c9720
cmp eax, 0xa3e6f6c3
je 0x4ca713
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c9769
cmp dword [ecx + 0x18], 0
jne 0x4c9701
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4f37f4]
test eax, eax
jne 0x4c980f
test ebx, ebx
je 0x4c9808
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4c9808
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c9808
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c97f6
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c97c1
cmp edi, 0x5e19f4c5
je 0x4ca71e
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c97b1
xor eax, eax
mov dword [0x4f37f4], eax
lea ecx, [ebp - 0x90]
push ecx
lea ecx, [ebp - 0x904]
push ecx
call eax
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x4c98b4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c989b
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4c9863
cmp eax, 0xa3e6f6c3
je 0x4ca73c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c98ac
cmp dword [ecx + 0x18], 0
jne 0x4c9845
xor ebx, ebx
mov dword [0x4f3810], ebx
mov ecx, dword [0x4f3800]
test ecx, ecx
jne 0x4c9954
test ebx, ebx
je 0x4c994c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
xor ecx, ecx
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4c994e
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c994c
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c993a
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c9905
cmp edi, 0x2411f733
je 0x4ca747
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c98f5
xor ecx, ecx
mov dword [0x4f3800], ecx
mov eax, dword [ebp + 8]
add eax, 0x200
push eax
lea eax, [ebp - 0x904]
push eax
call ecx
mov ebx, dword [0x4f3810]
lea eax, [ebp - 0x904]
mov dword [ebp - 0xe0], eax
test ebx, ebx
jne 0x4c9a11
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c99f8
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4c99c0
cmp eax, 0xa3e6f6c3
je 0x4ca765
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c9a09
cmp dword [ecx + 0x18], 0
jne 0x4c99a0
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf58]
test eax, eax
jne 0x4c9aae
test ebx, ebx
je 0x4c9aa7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4c9aa7
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c9aa7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c9a95
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c9a60
cmp edi, 0x6f2e8e0a
je 0x4ca770
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c9a50
xor eax, eax
mov dword [0x4fbf58], eax
lea ecx, [ebp - 0x904]
push ecx
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0xdc], eax
test ebx, ebx
jne 0x4c9b52
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c9b39
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4c9b01
cmp eax, 0xc0323159
je 0x4ca78e
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c9b4a
cmp dword [ecx + 0x18], 0
jne 0x4c9ae3
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbffc]
test eax, eax
jne 0x4c9bee
test ebx, ebx
je 0x4c9be7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4c9be7
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c9be7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
nop
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c9bd5
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c9ba0
cmp edi, 0xf217dfb
je 0x4ca799
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c9b90
xor eax, eax
mov dword [0x4fbffc], eax
lea ecx, [ebp - 0xf4]
push ecx
push 0
push 0x104c
push dword [0x4fbaa0]
call eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xf0], eax
mov eax, 0x12
mov dword [ebp - 0xec], 2
mov dword [ebp - 0xa4], 0x32
mov word [ebp - 0xa0], ax
mov word [ebp - 0x9e], ax
mov eax, 0x32
mov word [ebp - 0x9c], ax
movzx eax, word [0x4049ca]
xor eax, 0x32
mov word [ebp - 0x9a], ax
movzx eax, word [0x4049cc]
xor eax, 0x32
mov word [ebp - 0x98], ax
xor eax, eax
mov word [ebp - 0x96], ax
xor edx, edx
mov ax, word [ebp - 0xa0]
mov ax, word [ebp + edx*2 - 0xa0]
movzx ecx, ax
movzx eax, word [ebp - 0xa4]
xor ecx, eax
mov word [ebp + edx*2 - 0xa0], cx
inc edx
cmp edx, 5
jb 0x4c9c74
mov ebx, dword [0x4f3810]
xor eax, eax
mov word [ebp - 0x96], ax
test ebx, ebx
jne 0x4c9d34
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c9d1b
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4c9ce3
cmp eax, 0xa3e6f6c3
je 0x4ca7b7
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c9d2c
cmp dword [ecx + 0x18], 0
jne 0x4c9cc5
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4f37f4]
test eax, eax
jne 0x4c9dd2
test ebx, ebx
je 0x4c9dcb
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4c9dcb
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c9dcb
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c9db9
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c9d84
cmp edi, 0x5e19f4c5
je 0x4ca7c2
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c9d74
xor eax, eax
mov dword [0x4f37f4], eax
lea ecx, [ebp - 0xa0]
push ecx
lea ecx, [ebp - 0x904]
push ecx
call eax
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x4c9e81
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c9e68
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4c9e30
cmp eax, 0xa3e6f6c3
je 0x4ca7e0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4c9e79
cmp dword [ecx + 0x18], 0
jne 0x4c9e10
xor ebx, ebx
mov dword [0x4f3810], ebx
mov ecx, dword [0x4f3800]
test ecx, ecx
jne 0x4c9f21
test ebx, ebx
je 0x4c9f19
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
xor ecx, ecx
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4c9f1b
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c9f19
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4c9f07
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4c9ed2
cmp edi, 0x2411f733
je 0x4ca7eb
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4c9ec2
xor ecx, ecx
mov dword [0x4f3800], ecx
mov eax, dword [ebp + 8]
add eax, 0x400
push eax
lea eax, [ebp - 0x904]
push eax
call ecx
mov ebx, dword [0x4f3810]
lea eax, [ebp - 0x904]
mov dword [ebp - 0xe0], eax
test ebx, ebx
jne 0x4c9fd4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp + 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4c9fbb
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4c9f83
cmp eax, 0xa3e6f6c3
je 0x4ca809
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x4c9fcc
cmp dword [ecx + 0x18], 0
jne 0x4c9f65
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf58]
test eax, eax
jne 0x4ca072
test ebx, ebx
je 0x4ca06b
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ca06b
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4ca06b
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ca059
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4ca024
cmp edi, 0x6f2e8e0a
je 0x4ca814
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ca014
xor eax, eax
mov dword [0x4fbf58], eax
lea ecx, [ebp - 0x904]
push ecx
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0xdc], eax
test ebx, ebx
jne 0x4ca116
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp + 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4ca0fd
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4ca0c5
cmp eax, 0xc0323159
je 0x4ca832
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x4ca10e
cmp dword [ecx + 0x18], 0
jne 0x4ca0a7
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbffc]
test eax, eax
jne 0x4ca1b4
test ebx, ebx
je 0x4ca1ad
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ca1ad
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4ca1ad
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ca19b
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4ca166
cmp edi, 0xf217dfb
je 0x4ca83d
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ca156
xor eax, eax
mov dword [0x4fbffc], eax
lea ecx, [ebp - 0xf4]
push ecx
push 0
push 0x104c
push dword [0x4fbaa0]
call eax
mov dword [ebp - 0xec], 3
mov eax, 0x3b
mov dword [ebp - 0xb8], 0x1b
mov word [ebp - 0xb4], ax
mov word [ebp - 0xb2], ax
mov eax, 0x2b
mov word [ebp - 0xb0], ax
mov eax, 0x1b
mov word [ebp - 0xae], ax
movzx eax, word [0x4049f8]
xor eax, 0x1b
mov word [ebp - 0xac], ax
movzx eax, word [0x4049fa]
xor eax, 0x1b
mov word [ebp - 0xaa], ax
movzx eax, word [0x4049fc]
xor eax, 0x1b
mov word [ebp - 0xa8], ax
xor eax, eax
mov word [ebp - 0xa6], ax
xor edx, edx
mov ax, word [ebp - 0xb4]
nop
mov ax, word [ebp + edx*2 - 0xb4]
movzx ecx, ax
movzx eax, word [ebp - 0xb8]
xor ecx, eax
mov word [ebp + edx*2 - 0xb4], cx
inc edx
cmp edx, 7
jb 0x4ca250
mov ebx, dword [0x4f3810]
xor eax, eax
mov word [ebp - 0xa6], ax
test ebx, ebx
jne 0x4ca311
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp + 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4ca2f8
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4ca2c0
cmp eax, 0xa3e6f6c3
je 0x4ca85b
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x4ca309
cmp dword [ecx + 0x18], 0
jne 0x4ca2a1
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4f37f4]
test eax, eax
jne 0x4ca3af
test ebx, ebx
je 0x4ca3a8
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ca3a8
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4ca3a8
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ca396
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4ca361
mov ecx, dword [ebp + 8]
cmp edi, 0x5e19f4c5
je 0x4ca866
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ca351
xor eax, eax
mov dword [0x4f37f4], eax
lea ecx, [ebp - 0xb4]
push ecx
lea ecx, [ebp - 0x904]
push ecx
call eax
mov ebx, dword [0x4f3810]
lea eax, [ebp - 0x904]
mov dword [ebp - 0xe0], eax
test ebx, ebx
jne 0x4ca461
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp + 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4ca448
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4ca410
cmp eax, 0xa3e6f6c3
je 0x4ca883
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x4ca459
cmp dword [ecx + 0x18], 0
jne 0x4ca3f1
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf58]
test eax, eax
jne 0x4ca4ff
test ebx, ebx
je 0x4ca4f8
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ca4f8
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4ca4f8
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ca4e6
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4ca4b1
mov ecx, dword [ebp + 8]
cmp edi, 0x6f2e8e0a
je 0x4ca88e
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ca4a1
xor eax, eax
mov dword [0x4fbf58], eax
lea ecx, [ebp - 0x904]
push ecx
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0xdc], eax
test ebx, ebx
jne 0x4ca5a3
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp + 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4ca58a
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4ca552
cmp eax, 0xc0323159
je 0x4ca8ab
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x4ca59b
cmp dword [ecx + 0x18], 0
jne 0x4ca534
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbffc]
test eax, eax
jne 0x4ca641
test ebx, ebx
je 0x4ca63a
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ca63a
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4ca63a
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ca628
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4ca5f3
mov ecx, dword [ebp + 8]
cmp edi, 0xf217dfb
je 0x4ca8b6
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ca5e3
xor eax, eax
mov dword [0x4fbffc], eax
lea ecx, [ebp - 0xf4]
push ecx
push 0
push 0x104c
push dword [0x4fbaa0]
call eax
mov ecx, dword [0x4fbaa0]
call fcn.004da180
mov eax, dword [ebp - 0xd4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c8ecb
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c8f6a
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c901b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c90ba
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c940b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c94aa
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c955b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c95fa
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c976b
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c980a
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c98ae
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, ebx
jmp 0x4c994e
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c9a0b
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c9aa9
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c9b4c
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c9be9
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c9d2e
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4c9dcd
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c9e7b
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, ebx
jmp 0x4c9f1b
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4c9fce
mov eax, dword [ebp - 8]
mov edx, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4ca06d
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4ca110
mov eax, dword [ebp - 8]
mov edx, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x4ca1af
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4ca30b
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x4ca3aa
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4ca45b
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x4ca4fa
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4ca59d
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x4ca63c
mov eax, dword [ebp + 8]
mov ebx, dword [0x4f3810]
add eax, 0x200
mov dword [ebp - 0xe0], eax
test ebx, ebx
jne 0x4ca976
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4ca95d
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4ca925
cmp eax, 0xa3e6f6c3
je 0x4cae33
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4ca96e
cmp dword [ecx + 0x18], 0
jne 0x4ca907
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf58]
test eax, eax
jne 0x4caa14
test ebx, ebx
je 0x4caa0d
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4caa0d
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4caa0d
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ca9fb
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4ca9c6
mov ecx, dword [ebp - 0xc]
cmp edi, 0x6f2e8e0a
je 0x4cae3e
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ca9b6
xor eax, eax
mov dword [0x4fbf58], eax
push dword [ebp - 0xe0]
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0xdc], eax
test ebx, ebx
jne 0x4caac1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4caaa8
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4caa70
cmp eax, 0xc0323159
je 0x4cae5b
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4caab9
cmp dword [ecx + 0x18], 0
jne 0x4caa50
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbffc]
test eax, eax
jne 0x4cab5f
test ebx, ebx
je 0x4cab58
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cab58
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cab58
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cab46
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4cab11
mov ecx, dword [ebp - 0xc]
cmp edi, 0xf217dfb
je 0x4cae66
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cab01
xor eax, eax
mov dword [0x4fbffc], eax
lea ecx, [ebp - 0xf4]
push ecx
push 0
push 0x104c
push dword [0x4fbae0]
call eax
mov eax, dword [ebp - 0x10]
mov ebx, dword [0x4f3810]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp + 8]
add eax, 0x400
mov dword [ebp - 0xec], 2
mov dword [ebp - 0xe0], eax
test ebx, ebx
jne 0x4cac31
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp + 8], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cac18
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4cabe0
cmp eax, 0xa3e6f6c3
je 0x4cae83
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x4cac29
cmp dword [ecx + 0x18], 0
jne 0x4cabc0
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf58]
test eax, eax
jne 0x4caccf
test ebx, ebx
je 0x4cacc8
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cacc8
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cacc8
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cacb6
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4cac81
mov ecx, dword [ebp + 8]
cmp edi, 0x6f2e8e0a
je 0x4cae8e
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cac71
xor eax, eax
mov dword [0x4fbf58], eax
push dword [ebp - 0xe0]
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0xdc], eax
test ebx, ebx
jne 0x4cad72
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp + 8], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cad59
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4cad21
cmp eax, 0xc0323159
je 0x4caeab
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp + 8], ecx
cmp eax, edx
je 0x4cad6a
cmp dword [ecx + 0x18], 0
jne 0x4cad03
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbffc]
test eax, eax
jne 0x4cae10
test ebx, ebx
je 0x4cae09
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cae09
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cae09
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cadf7
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4cadc2
mov ecx, dword [ebp + 8]
cmp edi, 0xf217dfb
je 0x4caeb6
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cadb2
xor eax, eax
mov dword [0x4fbffc], eax
lea ecx, [ebp - 0xf4]
push ecx
push 0
push 0x104c
push dword [0x4fbae0]
call eax
mov eax, dword [ebp - 0xd4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4ca970
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x4caa0f
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4caabb
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x4cab5a
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cac2b
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x4cacca
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cad6c
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x4cae0b