Function at 0x4caee0
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, 0x4b0
push ebx
mov ebx, dword [0x4f3810]
xor al, al
mov dword [ebp - 0x10], edx
mov ecx, 0x3c
push esi
push edi
lea edi, [ebp - 0x9c]
rep stosb byte es:[edi], al
mov eax, dword [ebp + 8]
mov dword [ebp - 0x9c], 5
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x88], eax
test ebx, ebx
jne 0x4cafb1
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 0x4caf98
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 0x4caf60
cmp eax, 0xa3e6f6c3
je 0x4cb74e
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 0x4cafa9
cmp dword [ecx + 0x18], 0
jne 0x4caf41
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf38]
test eax, eax
jne 0x4cb04e
test ebx, ebx
je 0x4cb047
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4cb047
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb047
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 0x4cb035
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 0x4cb000
cmp edi, 0x792e9dc8
je 0x4cb759
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4caff0
xor eax, eax
mov dword [0x4fbf38], eax
push dword [ebp + 8]
call eax
cmp dword [ebp - 0x10], 0
mov dword [ebp - 0x84], eax
jne 0x4cb844
mov dword [ebp - 0x60], 0x65
xor edx, edx
mov byte [ebp - 0x5c], 0x45
mov byte [ebp - 0x5b], 0x45
mov al, byte [ebp - 0x5c]
mov byte [ebp - 0x5a], 0
nop dword [eax + eax]
mov al, byte [ebp + edx - 0x5c]
movsx ecx, byte [ebp - 0x60]
movsx eax, al
xor eax, ecx
mov byte [ebp + edx - 0x5c], al
inc edx
cmp edx, 2
jb 0x4cb080
mov ebx, dword [0x4f3810]
mov byte [ebp - 0x5a], 0
test ebx, ebx
jne 0x4cb131
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 0x4cb118
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 0x4cb0e0
cmp eax, 0xa3e6f6c3
je 0x4cb777
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 0x4cb129
cmp dword [ecx + 0x18], 0
jne 0x4cb0c1
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf14]
test eax, eax
jne 0x4cb1ce
test ebx, ebx
je 0x4cb1c7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4cb1c7
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb1c7
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 0x4cb1b5
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 0x4cb180
cmp edi, 0x681a0483
je 0x4cb782
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cb170
xor eax, eax
mov dword [0x4fbf14], eax
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x4ac]
push ecx
call eax
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x4cb271
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 0x4cb258
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 0x4cb220
cmp eax, 0xa3e6f6c3
je 0x4cb7a0
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 0x4cb269
cmp dword [ecx + 0x18], 0
jne 0x4cb201
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbfa4]
test eax, eax
jne 0x4cb30e
test ebx, ebx
je 0x4cb307
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4cb307
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb307
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 0x4cb2f5
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 0x4cb2c0
cmp edi, 0x3a1219d5
je 0x4cb7ab
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cb2b0
xor eax, eax
mov dword [0x4fbfa4], eax
push dword [ebp + 8]
lea ecx, [ebp - 0x4ac]
push ecx
call eax
mov ebx, dword [0x4f3810]
lea eax, [ebp - 0x4ac]
mov dword [ebp - 0x88], eax
test ebx, ebx
jne 0x4cb3c1
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
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 0x4cb3a8
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 0x4cb370
cmp eax, 0xa3e6f6c3
je 0x4cb7c9
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 0x4cb3b9
cmp dword [ecx + 0x18], 0
jne 0x4cb350
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf38]
test eax, eax
jne 0x4cb45e
test ebx, ebx
je 0x4cb457
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x18], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4cb457
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb457
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 0x4cb445
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 0x4cb410
cmp edi, 0x792e9dc8
je 0x4cb7d4
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cb400
xor eax, eax
mov dword [0x4fbf38], eax
lea ecx, [ebp - 0x4ac]
push ecx
call eax
mov ecx, 0xc
mov dword [ebp - 0x84], eax
call fcn.004daeb0
mov esi, eax
mov dword [ebp - 0x18], esi
call fcn.004db550
mov dword [esi], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x414]
mov dword [esi + 8], ecx
mov ebx, dword [0x4f37a8]
test ebx, ebx
jne 0x4cb524
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 0x4cb50b
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 0x4cb4d3
cmp eax, 0xc0323159
je 0x4cb7f2
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 0x4cb51c
cmp dword [ecx + 0x18], 0
jne 0x4cb4b5
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbb9c]
test eax, eax
jne 0x4cb5be
test ebx, ebx
je 0x4cb5b7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4cb5b7
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb5b7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cb5a5
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 0x4cb570
cmp edi, 0xd7222356
je 0x4cb7fd
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cb560
xor eax, eax
mov dword [0x4fbb9c], eax
mov ebx, dword [ebp - 0x18]
push dword [ebx + 8]
push 0xffffffffffffffeb
push dword [ebx]
call eax
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x410]
mov dword [ebx + 4], eax
mov edx, dword [esi + 0x400]
mov dword [ebp - 0x7c], ebx
mov ecx, dword [ebx]
call fcn.004dafc0
mov edx, dword [esi + 0x404]
mov ecx, dword [ebx]
call fcn.004db190
mov ebx, dword [0x4f37a8]
test ebx, ebx
jne 0x4cb691
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
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 0x4cb678
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 0x4cb640
cmp eax, 0xc0323159
je 0x4cb81b
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 0x4cb689
cmp dword [ecx + 0x18], 0
jne 0x4cb620
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbf08]
test eax, eax
jne 0x4cb72e
test ebx, ebx
je 0x4cb727
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4cb727
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb727
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cb715
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 0x4cb6e0
cmp edi, 0x5216e3d
je 0x4cb826
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cb6d0
xor eax, eax
mov dword [0x4fbf08], eax
lea ecx, [ebp - 0x9c]
push ecx
push 0
push 0x1007
push dword [0x4fbaa0]
call eax
mov ebx, eax
mov dword [ebp - 0x14], ebx
jmp 0x4cbe81
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cafab
mov eax, dword [ebp - 0x14]
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 0x4cb049
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cb12b
mov eax, dword [ebp - 0x14]
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 0x4cb1c9
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cb26b
mov eax, dword [ebp - 0x14]
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 0x4cb309
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cb3bb
mov eax, dword [ebp - 0x14]
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 0x4cb459
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cb51e
mov eax, dword [ebp - 0x14]
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 0x4cb5b9
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cb68b
mov eax, dword [ebp - 0x14]
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 0x4cb729
mov ebx, dword [0x4f37a8]
test ebx, ebx
jne 0x4cb8e1
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
nop word [eax + 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 0x4cb8c8
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 0x4cb890
cmp eax, 0xc0323159
je 0x4ccd8c
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 0x4cb8d9
cmp dword [ecx + 0x18], 0
jne 0x4cb870
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbf08]
test eax, eax
jne 0x4cb97e
test ebx, ebx
je 0x4cb977
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4cb977
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb977
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cb965
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 0x4cb930
cmp edi, 0x5216e3d
je 0x4ccd97
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cb920
xor eax, eax
mov dword [0x4fbf08], eax
push 0
push 0
push 0x1004
push dword [0x4fbae0]
call eax
mov ebx, dword [0x4f3810]
mov dword [ebp - 0x98], eax
test ebx, ebx
jne 0x4cba31
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
nop dword [eax + 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 0x4cba18
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 0x4cb9e0
cmp eax, 0xa3e6f6c3
je 0x4ccdb5
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 0x4cba29
cmp dword [ecx + 0x18], 0
jne 0x4cb9c0
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbfbc]
test eax, eax
jne 0x4cbac3
test ebx, ebx
je 0x4cbabc
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4cbabc
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cbabc
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 0x4cbaaa
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 0x4cba75
cmp edi, 0x60f680f
je 0x4ccdc0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cba65
xor eax, eax
mov dword [0x4fbfbc], eax
lea ecx, [ebp - 0xac]
push ecx
call eax
mov ecx, 0x100
call fcn.004daeb0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x3c], 0x7d
mov eax, dword [ebp - 0x3c]
xor eax, 0x5b
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 0x3c]
inc al
xor eax, 0x25
mov byte [ebp - 0x37], al
mov eax, dword [ebp - 0x3c]
add al, 2
xor eax, 0x30
mov byte [ebp - 0x36], al
mov eax, dword [ebp - 0x3c]
add al, 3
xor eax, 0x32
mov byte [ebp - 0x35], al
mov eax, dword [ebp - 0x3c]
add al, 4
xor eax, 0x64
mov byte [ebp - 0x34], al
mov eax, dword [ebp - 0x3c]
add al, 5
xor eax, 0x3a
mov byte [ebp - 0x33], al
mov eax, dword [ebp - 0x3c]
add al, 6
xor eax, 0x25
mov byte [ebp - 0x32], al
mov eax, dword [ebp - 0x3c]
add al, 7
xor eax, 0x30
mov byte [ebp - 0x31], al
mov eax, dword [ebp - 0x3c]
add al, 8
xor eax, 0x32
mov byte [ebp - 0x30], al
mov eax, dword [ebp - 0x3c]
add al, 9
xor eax, 0x64
mov byte [ebp - 0x2f], al
mov eax, dword [ebp - 0x3c]
add al, 0xa
xor eax, 0x3a
mov byte [ebp - 0x2e], al
mov eax, dword [ebp - 0x3c]
add al, 0xb
xor eax, 0x25
mov byte [ebp - 0x2d], al
mov eax, dword [ebp - 0x3c]
add al, 0xc
xor eax, 0x30
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x3c]
add al, 0xd
xor eax, 0x32
mov byte [ebp - 0x2b], al
mov eax, dword [ebp - 0x3c]
add al, 0xe
xor eax, 0x64
mov byte [ebp - 0x2a], al
mov eax, dword [ebp - 0x3c]
add al, 0xf
mov byte [ebp - 0x28], 0
xor eax, 0x5d
xor edx, edx
mov byte [ebp - 0x29], al
mov al, byte [ebp - 0x38]
mov al, byte [ebp + edx - 0x38]
mov ecx, dword [ebp - 0x3c]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0x38], cl
inc edx
cmp edx, 0x10
jb 0x4cbb97
movzx eax, word [ebp - 0xa0]
push eax
movzx eax, word [ebp - 0xa2]
push eax
movzx eax, word [ebp - 0xa4]
push eax
lea eax, [ebp - 0x38]
mov byte [ebp - 0x28], 0
push eax
lea eax, [ebp - 0x58]
push 0x100
push eax
call fcn.004cfbe0
mov ebx, dword [0x4f3810]
add esp, 0x18
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x88], eax
test ebx, ebx
jne 0x4cbc81
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
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 0x4cbc68
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 0x4cbc30
cmp eax, 0xa3e6f6c3
je 0x4ccdde
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 0x4cbc79
cmp dword [ecx + 0x18], 0
jne 0x4cbc10
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf38]
test eax, eax
jne 0x4cbd13
test ebx, ebx
je 0x4cbd0c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4cbd0c
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cbd0c
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 0x4cbcfa
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 0x4cbcc5
cmp edi, 0x792e9dc8
je 0x4ccde9
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cbcb5
xor eax, eax
mov dword [0x4fbf38], eax
push dword [ebp - 0x58]
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x40c]
mov dword [ebp - 0x7c], eax
test ebx, ebx
jne 0x4cbdc1
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 0x4cbda8
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 0x4cbd70
cmp eax, 0xc0323159
je 0x4cce07
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 0x4cbdb9
cmp dword [ecx + 0x18], 0
jne 0x4cbd50
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbf08]
test eax, eax
jne 0x4cbe5e
test ebx, ebx
je 0x4cbe57
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4cbe57
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cbe57
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cbe45
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 0x4cbe10
cmp edi, 0x5216e3d
je 0x4cce12
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cbe00
xor eax, eax
mov dword [0x4fbf08], eax
lea ecx, [ebp - 0x9c]
push ecx
push 0
push 0x1007
push dword [0x4fbae0]
call eax
mov ecx, dword [ebp - 0x58]
mov ebx, eax
mov dword [ebp - 0x14], ebx
call fcn.004dada0
cmp ebx, 0xffffffff
je 0x4cd544
cmp dword [ebp - 0x10], 0
mov dword [ebp - 0x9c], 1
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], 1
jne 0x4ccff0
mov dword [ebp - 0x44], 0x26
mov eax, dword [ebp - 0x44]
xor eax, 0x20
mov byte [ebp - 0x40], al
mov eax, dword [ebp - 0x44]
inc al
mov byte [ebp - 0x3e], 0
xor eax, 0x20
xor edx, edx
mov byte [ebp - 0x3f], al
mov al, byte [ebp - 0x40]
mov al, byte [ebp + edx - 0x40]
mov ecx, dword [ebp - 0x44]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0x40], cl
inc edx
cmp edx, 2
jb 0x4cbed2
mov ebx, dword [0x4f3810]
mov byte [ebp - 0x3e], 0
test ebx, ebx
jne 0x4cbf83
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cbf6a
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 0x4cbf32
cmp eax, 0xa3e6f6c3
je 0x4cce30
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 0x4cbf7b
cmp dword [ecx + 0x18], 0
jne 0x4cbf14
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf14]
test eax, eax
jne 0x4cc01e
test ebx, ebx
je 0x4cc017
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cc017
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cc017
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
nop dword [eax + eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cc005
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 0x4cbfd0
cmp edi, 0x681a0483
je 0x4cce3b
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cbfc0
xor eax, eax
mov dword [0x4fbf14], eax
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x4ac]
push ecx
call eax
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x4cc0c1
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cc0a8
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 0x4cc070
cmp eax, 0xa3e6f6c3
je 0x4cce59
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 0x4cc0b9
cmp dword [ecx + 0x18], 0
jne 0x4cc051
xor ebx, ebx
mov dword [0x4f3810], ebx
mov ecx, dword [0x4fbfa4]
test ecx, ecx
jne 0x4cc155
test ebx, ebx
je 0x4cc14d
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 0x4cc14f
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cc14d
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cc13b
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 0x4cc106
cmp edi, 0x3a1219d5
je 0x4cce64
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cc0f6
xor ecx, ecx
mov dword [0x4fbfa4], ecx
mov eax, dword [ebp + 8]
add eax, 0x100
push eax
lea eax, [ebp - 0x4ac]
push eax
call ecx
mov ebx, dword [0x4f3810]
lea eax, [ebp - 0x4ac]
mov dword [ebp - 0x88], eax
test ebx, ebx
jne 0x4cc211
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]
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 0x4cc1f8
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 0x4cc1c0
cmp eax, 0xa3e6f6c3
je 0x4cce82
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 0x4cc209
cmp dword [ecx + 0x18], 0
jne 0x4cc1a0
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf38]
test eax, eax
jne 0x4cc2a3
test ebx, ebx
je 0x4cc29c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cc29c
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cc29c
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cc28a
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 0x4cc255
cmp edi, 0x792e9dc8
je 0x4cce8d
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cc245
xor eax, eax
mov dword [0x4fbf38], eax
lea ecx, [ebp - 0x4ac]
push ecx
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0x84], eax
test ebx, ebx
jne 0x4cc351
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 0x4cc338
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 0x4cc300
cmp eax, 0xc0323159
je 0x4cceab
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 0x4cc349
cmp dword [ecx + 0x18], 0
jne 0x4cc2e0
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbf08]
test eax, eax
jne 0x4cc3e3
test ebx, ebx
je 0x4cc3dc
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cc3dc
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cc3dc
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cc3ca
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 0x4cc395
cmp edi, 0x5216e3d
je 0x4cceb6
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cc385
xor eax, eax
mov dword [0x4fbf08], eax
lea ecx, [ebp - 0x9c]
push ecx
push 0
push 0x1006
push dword [0x4fbaa0]
call eax
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x24], 0x6e
mov byte [ebp - 0x20], 0x4e
mov byte [ebp - 0x1f], 0x4e
mov al, byte [ebp - 0x20]
mov byte [ebp - 0x1e], 0
mov al, byte [ebp + edx - 0x20]
movsx ecx, byte [ebp - 0x24]
movsx eax, al
xor eax, ecx
mov byte [ebp + edx - 0x20], al
inc edx
cmp edx, 2
jb 0x4cc424
mov ebx, dword [0x4f3810]
mov byte [ebp - 0x1e], 0
test ebx, ebx
jne 0x4cc4d4
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cc4bb
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 0x4cc483
cmp eax, 0xa3e6f6c3
je 0x4cced4
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 0x4cc4cc
cmp dword [ecx + 0x18], 0
jne 0x4cc465
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf14]
test eax, eax
jne 0x4cc56e
test ebx, ebx
je 0x4cc567
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cc567
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cc567
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cc555
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 0x4cc520
cmp edi, 0x681a0483
je 0x4ccedf
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cc510
xor eax, eax
mov dword [0x4fbf14], eax
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x4ac]
push ecx
call eax
mov ebx, dword [0x4f3810]
test ebx, ebx
jne 0x4cc611
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cc5f8
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 0x4cc5c0
cmp eax, 0xa3e6f6c3
je 0x4ccefd
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 0x4cc609
cmp dword [ecx + 0x18], 0
jne 0x4cc5a1
xor ebx, ebx
mov dword [0x4f3810], ebx
mov ecx, dword [0x4fbfa4]
test ecx, ecx
jne 0x4cc6af
test ebx, ebx
je 0x4cc6a7
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 0x4cc6a9
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cc6a7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
nop word [eax + eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cc695
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 0x4cc660
cmp edi, 0x3a1219d5
je 0x4ccf08
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cc650
xor ecx, ecx
mov dword [0x4fbfa4], ecx
mov eax, dword [ebp + 8]
add eax, 0x200
push eax
lea eax, [ebp - 0x4ac]
push eax
call ecx
mov ebx, dword [0x4f3810]
lea eax, [ebp - 0x4ac]
mov dword [ebp - 0x88], eax
test ebx, ebx
jne 0x4cc762
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cc749
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 0x4cc711
cmp eax, 0xa3e6f6c3
je 0x4ccf26
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 0x4cc75a
cmp dword [ecx + 0x18], 0
jne 0x4cc6f3
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf38]
test eax, eax
jne 0x4cc7fe
test ebx, ebx
je 0x4cc7f7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cc7f7
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cc7f7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
nop
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cc7e5
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 0x4cc7b0
cmp edi, 0x792e9dc8
je 0x4ccf31
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cc7a0
xor eax, eax
mov dword [0x4fbf38], eax
lea ecx, [ebp - 0x4ac]
push ecx
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0x84], eax
test ebx, ebx
jne 0x4cc8a2
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cc889
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 0x4cc851
cmp eax, 0xc0323159
je 0x4ccf4f
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 0x4cc89a
cmp dword [ecx + 0x18], 0
jne 0x4cc833
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbf08]
test eax, eax
jne 0x4cc940
test ebx, ebx
je 0x4cc939
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cc939
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cc939
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cc927
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 0x4cc8f2
cmp edi, 0x5216e3d
je 0x4ccf5a
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cc8e2
xor eax, eax
mov dword [0x4fbf08], eax
lea ecx, [ebp - 0x9c]
push ecx
push 0
push 0x1006
push dword [0x4fbaa0]
call eax
mov dword [ebp - 0x94], 3
xor edx, edx
mov dword [ebp - 0x54], 0x30
mov byte [ebp - 0x50], 0x10
mov byte [ebp - 0x4f], 0x10
mov byte [ebp - 0x4e], 0
mov al, byte [ebp - 0x50]
mov byte [ebp - 0x4d], 0
nop dword [eax]
mov al, byte [ebp + edx - 0x50]
movsx ecx, byte [ebp - 0x54]
movsx eax, al
xor eax, ecx
mov byte [ebp + edx - 0x50], al
inc edx
cmp edx, 3
jb 0x4cc980
mov ebx, dword [0x4f3810]
mov byte [ebp - 0x4d], 0
test ebx, ebx
jne 0x4cca31
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cca18
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 0x4cc9e0
cmp eax, 0xa3e6f6c3
je 0x4ccf78
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 0x4cca29
cmp dword [ecx + 0x18], 0
jne 0x4cc9c1
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf14]
test eax, eax
jne 0x4ccacf
test ebx, ebx
je 0x4ccac8
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ccac8
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4ccac8
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ccab6
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 0x4cca81
mov ecx, dword [ebp + 8]
cmp edi, 0x681a0483
je 0x4ccf83
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cca71
xor eax, eax
mov dword [0x4fbf14], eax
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x4ac]
push ecx
call eax
mov ebx, dword [0x4f3810]
lea eax, [ebp - 0x4ac]
mov dword [ebp - 0x88], eax
test ebx, ebx
jne 0x4ccb81
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
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 0x4ccb68
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 0x4ccb30
cmp eax, 0xa3e6f6c3
je 0x4ccfa0
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 0x4ccb79
cmp dword [ecx + 0x18], 0
jne 0x4ccb10
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf38]
test eax, eax
jne 0x4ccc1f
test ebx, ebx
je 0x4ccc18
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ccc18
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4ccc18
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ccc06
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 0x4ccbd1
mov ecx, dword [ebp + 8]
cmp edi, 0x792e9dc8
je 0x4ccfab
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ccbc1
xor eax, eax
mov dword [0x4fbf38], eax
lea ecx, [ebp - 0x4ac]
push ecx
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0x84], eax
test ebx, ebx
jne 0x4cccc3
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cccaa
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 0x4ccc72
cmp eax, 0xc0323159
je 0x4ccfc8
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 0x4cccbb
cmp dword [ecx + 0x18], 0
jne 0x4ccc54
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbffc]
test eax, eax
jne 0x4ccd61
test ebx, ebx
je 0x4ccd5a
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ccd5a
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4ccd5a
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ccd48
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 0x4ccd13
mov ecx, dword [ebp + 8]
cmp edi, 0xf217dfb
je 0x4ccfd3
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ccd03
xor eax, eax
mov dword [0x4fbffc], eax
lea ecx, [ebp - 0x9c]
push ecx
push 0
push 0x104c
push dword [0x4fbaa0]
call eax
mov ecx, dword [0x4fbaa0]
call fcn.004da180
mov eax, dword [ebp - 0x7c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cb8db
mov eax, dword [ebp - 0x14]
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 0x4cb979
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cba2b
mov eax, dword [ebp - 0x14]
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 0x4cbabe
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cbc7b
mov eax, dword [ebp - 0x14]
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 0x4cbd0e
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cbdbb
mov eax, dword [ebp - 0x14]
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 0x4cbe59
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cbf7d
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 0x4cc019
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cc0bb
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 0x4cc14f
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cc20b
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 0x4cc29e
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cc34b
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 0x4cc3de
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cc4ce
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 0x4cc569
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cc60b
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 0x4cc6a9
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cc75c
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 0x4cc7f9
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cc89c
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 0x4cc93b
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cca2b
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 0x4ccaca
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4ccb7b
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 0x4ccc1a
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cccbd
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 0x4ccd5c
mov eax, dword [ebp + 8]
mov ebx, dword [0x4f3810]
add eax, 0x100
mov dword [ebp - 0x88], eax
test ebx, ebx
jne 0x4cd093
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cd07a
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 0x4cd042
cmp eax, 0xa3e6f6c3
je 0x4cd54e
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 0x4cd08b
cmp dword [ecx + 0x18], 0
jne 0x4cd024
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf38]
test eax, eax
jne 0x4cd131
test ebx, ebx
je 0x4cd12a
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cd12a
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cd12a
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cd118
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 0x4cd0e3
mov ecx, dword [ebp - 0xc]
cmp edi, 0x792e9dc8
je 0x4cd559
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cd0d3
xor eax, eax
mov dword [0x4fbf38], eax
push dword [ebp - 0x88]
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0x84], eax
test ebx, ebx
jne 0x4cd1d4
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cd1bb
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 0x4cd183
cmp eax, 0xc0323159
je 0x4cd576
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 0x4cd1cc
cmp dword [ecx + 0x18], 0
jne 0x4cd165
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbf08]
test eax, eax
jne 0x4cd272
test ebx, ebx
je 0x4cd26b
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cd26b
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cd26b
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cd259
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 0x4cd224
mov ecx, dword [ebp - 0xc]
cmp edi, 0x5216e3d
je 0x4cd581
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cd214
xor eax, eax
mov dword [0x4fbf08], eax
lea ecx, [ebp - 0x9c]
push ecx
push 0
push 0x1006
push dword [0x4fbae0]
call eax
mov eax, dword [ebp - 0x14]
mov ebx, dword [0x4f3810]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 8]
add eax, 0x200
mov dword [ebp - 0x94], 2
mov dword [ebp - 0x88], eax
test ebx, ebx
jne 0x4cd341
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
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 0x4cd328
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 0x4cd2f0
cmp eax, 0xa3e6f6c3
je 0x4cd59e
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 0x4cd339
cmp dword [ecx + 0x18], 0
jne 0x4cd2d0
xor ebx, ebx
mov dword [0x4f3810], ebx
mov eax, dword [0x4fbf38]
test eax, eax
jne 0x4cd3df
test ebx, ebx
je 0x4cd3d8
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cd3d8
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cd3d8
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cd3c6
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 0x4cd391
mov ecx, dword [ebp + 8]
cmp edi, 0x792e9dc8
je 0x4cd5a9
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cd381
xor eax, eax
mov dword [0x4fbf38], eax
push dword [ebp - 0x88]
call eax
mov ebx, dword [0x4f37a8]
mov dword [ebp - 0x84], eax
test ebx, ebx
jne 0x4cd486
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cd46d
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 0x4cd435
cmp eax, 0xc0323159
je 0x4cd5c6
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 0x4cd47e
cmp dword [ecx + 0x18], 0
jne 0x4cd413
xor ebx, ebx
mov dword [0x4f37a8], ebx
mov eax, dword [0x4fbf08]
test eax, eax
jne 0x4cd52e
test ebx, ebx
je 0x4cd527
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cd527
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cd527
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cd515
nop word [eax + eax]
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 0x4cd4e0
mov ecx, dword [ebp + 8]
cmp edi, 0x5216e3d
je 0x4cd5d1
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp + 8], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cd4c6
xor eax, eax
mov dword [0x4fbf08], eax
lea ecx, [ebp - 0x9c]
push ecx
push 0
push 0x1006
push dword [0x4fbae0]
call eax
mov eax, dword [ebp - 0x7c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cd08d
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 0x4cd12c
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cd1ce
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 0x4cd26d
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cd33b
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 0x4cd3da
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cd480
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 0x4cd529