Function at 0x4c9a80
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4a8
push ebx
mov ebx, dword [0x4f081c]
xor al, al
mov dword [ebp - 0x10], edx
mov ecx, 0x3c
push esi
push edi
lea edi, [ebp - 0x94]
rep stosb byte es:[edi], al
mov eax, dword [ebp + 8]
mov dword [ebp - 0x94], 5
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x80], eax
test ebx, ebx
jne 0x4c9b51
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
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 0x4c9b38
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 0x4c9b00
cmp eax, 0xa3e6f6c3
je 0x4ca2e3
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 0x4c9b49
cmp dword [ecx + 0x18], 0
jne 0x4c9ae0
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8f44]
test eax, eax
jne 0x4c9bee
test ebx, ebx
je 0x4c9be7
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 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 - 8], eax
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, 0x792e9dc8
je 0x4ca2ee
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 0x4c9b90
xor eax, eax
mov dword [0x4f8f44], eax
push dword [ebp + 8]
call eax
cmp dword [ebp - 0x10], 0
mov dword [ebp - 0x7c], eax
jne 0x4ca3d9
mov dword [ebp - 0x38], 0x14
mov eax, dword [ebp - 0x38]
xor eax, 0x20
mov byte [ebp - 0x34], al
mov eax, dword [ebp - 0x38]
inc al
mov byte [ebp - 0x32], 0
xor eax, 0x20
xor edx, edx
mov byte [ebp - 0x33], al
mov al, byte [ebp - 0x34]
mov al, byte [ebp + edx - 0x34]
mov ecx, dword [ebp - 0x38]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0x34], cl
inc edx
cmp edx, 2
jb 0x4c9c24
mov ebx, dword [0x4f081c]
mov byte [ebp - 0x32], 0
test ebx, ebx
jne 0x4c9cd5
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 0x4c9cbc
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 0x4c9c84
cmp eax, 0xa3e6f6c3
je 0x4ca30c
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 0x4c9ccd
cmp dword [ecx + 0x18], 0
jne 0x4c9c66
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8f20]
test eax, eax
jne 0x4c9d72
test ebx, ebx
je 0x4c9d6b
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 0x4c9d6b
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c9d6b
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 0x4c9d59
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 0x4c9d24
cmp edi, 0x681a0483
je 0x4ca317
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 0x4c9d14
xor eax, eax
mov dword [0x4f8f20], eax
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x4a4]
push ecx
call eax
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x4c9e14
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 0x4c9dfb
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 0x4c9dc3
cmp eax, 0xa3e6f6c3
je 0x4ca335
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 0x4c9e0c
cmp dword [ecx + 0x18], 0
jne 0x4c9da5
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8fac]
test eax, eax
jne 0x4c9eb1
test ebx, ebx
je 0x4c9eaa
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 0x4c9eaa
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c9eaa
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 0x4c9e98
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 0x4c9e63
cmp edi, 0x3a1219d5
je 0x4ca340
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 0x4c9e53
xor eax, eax
mov dword [0x4f8fac], eax
push dword [ebp + 8]
lea ecx, [ebp - 0x4a4]
push ecx
call eax
mov ebx, dword [0x4f081c]
lea eax, [ebp - 0x4a4]
mov dword [ebp - 0x80], eax
test ebx, ebx
jne 0x4c9f61
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 0x4c9f48
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 0x4c9f10
cmp eax, 0xa3e6f6c3
je 0x4ca35e
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 0x4c9f59
cmp dword [ecx + 0x18], 0
jne 0x4c9ef0
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8f44]
test eax, eax
jne 0x4c9ffe
test ebx, ebx
je 0x4c9ff7
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 0x4c9ff7
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4c9ff7
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 0x4c9fe5
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 0x4c9fb0
cmp edi, 0x792e9dc8
je 0x4ca369
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 0x4c9fa0
xor eax, eax
mov dword [0x4f8f44], eax
lea ecx, [ebp - 0x4a4]
push ecx
call eax
mov ecx, 0xc
mov dword [ebp - 0x7c], eax
call fcn.004d88b0
mov esi, eax
mov dword [ebp - 0x18], esi
call fcn.004d8f50
mov dword [esi], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x414]
mov dword [esi + 8], ecx
mov esi, dword [0x4f07ac]
test esi, esi
jne 0x4ca0c1
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 0x4ca0a8
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 0x4ca070
cmp eax, 0xc0323159
je 0x4ca387
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 0x4ca0b9
cmp dword [ecx + 0x18], 0
jne 0x4ca052
xor esi, esi
mov dword [0x4f07ac], esi
mov eax, dword [0x4f8b98]
test eax, eax
jne 0x4ca15e
test esi, esi
je 0x4ca157
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
lea eax, [ecx + esi]
mov dword [ebp - 0x14], eax
cmp eax, esi
je 0x4ca157
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4ca157
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [ebp - 8], eax
nop dword [eax]
mov edx, dword [eax]
mov edi, 0x811c9dc5
add edx, esi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x4ca145
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test bl, bl
jne 0x4ca110
cmp edi, 0xd7222356
je 0x4ca392
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 0x4ca100
xor eax, eax
mov dword [0x4f8b98], 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 - 0x74], ebx
mov ecx, dword [ebx]
call fcn.004d89c0
mov edx, dword [esi + 0x404]
mov ecx, dword [ebx]
call fcn.004d8b90
mov ebx, dword [0x4f07ac]
test ebx, ebx
jne 0x4ca231
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 0x4ca218
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 0x4ca1e0
cmp eax, 0xc0323159
je 0x4ca3b0
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 0x4ca229
cmp dword [ecx + 0x18], 0
jne 0x4ca1c0
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8f14]
test eax, eax
jne 0x4ca2c3
test ebx, ebx
je 0x4ca2bc
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4ca2bc
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4ca2bc
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 0x4ca2aa
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 0x4ca275
cmp edi, 0x5216e3d
je 0x4ca3bb
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 0x4ca265
xor eax, eax
mov dword [0x4f8f14], eax
lea ecx, [ebp - 0x94]
push ecx
push 0
push 0x1007
push dword [0x4f8ab0]
call eax
mov ebx, eax
mov dword [ebp - 0x14], ebx
jmp 0x4ca991
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c9b4b
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 0x4c9be9
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c9ccf
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 0x4c9d6d
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c9e0e
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 0x4c9eac
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4c9f5b
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 0x4c9ff9
mov eax, dword [ebp - 0xc]
mov esi, dword [eax + 0x18]
jmp 0x4ca0bb
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x4ca159
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4ca22b
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 0x4ca2be
mov ebx, dword [0x4f07ac]
test ebx, ebx
jne 0x4ca471
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 0x4ca458
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 0x4ca420
cmp eax, 0xc0323159
je 0x4cb8aa
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 0x4ca469
cmp dword [ecx + 0x18], 0
jne 0x4ca400
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8f14]
test eax, eax
jne 0x4ca503
test ebx, ebx
je 0x4ca4fc
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4ca4fc
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4ca4fc
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 0x4ca4ea
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 0x4ca4b5
cmp edi, 0x5216e3d
je 0x4cb8b5
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 0x4ca4a5
xor eax, eax
mov dword [0x4f8f14], eax
push 0
push 0
push 0x1004
push dword [0x4f8ad8]
call eax
mov ebx, dword [0x4f081c]
mov dword [ebp - 0x90], eax
test ebx, ebx
jne 0x4ca5b1
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 0x4ca598
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 0x4ca560
cmp eax, 0xa3e6f6c3
je 0x4cb8d3
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 0x4ca5a9
cmp dword [ecx + 0x18], 0
jne 0x4ca540
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07fc]
test eax, eax
jne 0x4ca643
test ebx, ebx
je 0x4ca63c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4ca63c
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4ca63c
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 0x4ca62a
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 0x4ca5f5
cmp edi, 0x60f680f
je 0x4cb8de
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 0x4ca5e5
xor eax, eax
mov dword [0x4f07fc], eax
lea ecx, [ebp - 0xa4]
push ecx
call eax
mov ecx, 0x100
call fcn.004d88b0
mov dword [ebp - 0x44], eax
xor ecx, ecx
mov byte [ebp - 0x55], 0x5f
mov byte [ebp - 0x54], 0x29
mov byte [ebp - 0x53], 0x34
mov byte [ebp - 0x52], 0x36
mov byte [ebp - 0x51], 0x68
mov byte [ebp - 0x50], 0x3e
mov byte [ebp - 0x4f], 0x29
mov byte [ebp - 0x4e], 0x34
mov byte [ebp - 0x4d], 0x36
mov byte [ebp - 0x4c], 0x68
mov byte [ebp - 0x4b], 0x3e
mov byte [ebp - 0x4a], 0x29
mov byte [ebp - 0x49], 0x34
mov byte [ebp - 0x48], 0x36
mov byte [ebp - 0x47], 0x68
mov byte [ebp - 0x46], 0x61
mov byte [ebp - 0x45], 0
mov al, byte [ebp - 0x55]
mov al, byte [ebp + ecx - 0x55]
movsx eax, al
sub eax, 4
mov byte [ebp + ecx - 0x55], al
inc ecx
cmp ecx, 0x10
jb 0x4ca6a2
movzx eax, word [ebp - 0x98]
push eax
movzx eax, word [ebp - 0x9a]
push eax
movzx eax, word [ebp - 0x9c]
push eax
lea eax, [ebp - 0x55]
push eax
lea eax, [ebp - 0x44]
push 0x100
push eax
call fcn.004cde40
mov esi, dword [0x4f081c]
add esp, 0x18
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x80], eax
test esi, esi
jne 0x4ca781
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 0x4ca768
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 0x4ca730
cmp eax, 0xa3e6f6c3
je 0x4cb8fc
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 0x4ca779
cmp dword [ecx + 0x18], 0
jne 0x4ca710
xor esi, esi
mov dword [0x4f081c], esi
mov eax, dword [0x4f8f44]
test eax, eax
jne 0x4ca81e
test esi, esi
je 0x4ca817
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
lea eax, [ecx + esi]
mov dword [ebp - 0x14], eax
cmp eax, esi
je 0x4ca817
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4ca817
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [ebp - 8], eax
nop dword [eax]
mov edx, dword [eax]
mov edi, 0x811c9dc5
add edx, esi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x4ca805
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test bl, bl
jne 0x4ca7d0
cmp edi, 0x792e9dc8
je 0x4cb907
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 0x4ca7c0
xor eax, eax
mov dword [0x4f8f44], eax
push dword [ebp - 0x44]
call eax
mov esi, dword [0x4f07ac]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x40c]
mov dword [ebp - 0x74], eax
test esi, esi
jne 0x4ca8d1
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 0x4ca8b8
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 0x4ca880
cmp eax, 0xc0323159
je 0x4cb925
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 0x4ca8c9
cmp dword [ecx + 0x18], 0
jne 0x4ca860
xor esi, esi
mov dword [0x4f07ac], esi
mov eax, dword [0x4f8f14]
test eax, eax
jne 0x4ca96e
test esi, esi
je 0x4ca967
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
lea eax, [ecx + esi]
mov dword [ebp - 0x14], eax
cmp eax, esi
je 0x4ca967
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4ca967
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [ebp - 8], eax
nop dword [eax]
mov edx, dword [eax]
mov edi, 0x811c9dc5
add edx, esi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x4ca955
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test bl, bl
jne 0x4ca920
cmp edi, 0x5216e3d
je 0x4cb930
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 0x4ca910
xor eax, eax
mov dword [0x4f8f14], eax
lea ecx, [ebp - 0x94]
push ecx
push 0
push 0x1007
push dword [0x4f8ad8]
call eax
mov ecx, dword [ebp - 0x44]
mov ebx, eax
mov dword [ebp - 0x14], ebx
call fcn.004d87a0
cmp ebx, 0xffffffff
je 0x4cc055
cmp dword [ebp - 0x10], 0
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], 1
jne 0x4cbb0e
mov dword [ebp - 0x28], 0x31
xor edx, edx
mov byte [ebp - 0x24], 0x11
mov byte [ebp - 0x23], 0x11
mov al, byte [ebp - 0x24]
mov byte [ebp - 0x22], 0
nop word [eax + eax]
mov al, byte [ebp + edx - 0x24]
movsx ecx, byte [ebp - 0x28]
movsx eax, al
xor eax, ecx
mov byte [ebp + edx - 0x24], al
inc edx
cmp edx, 2
jb 0x4ca9e0
mov ebx, dword [0x4f081c]
mov byte [ebp - 0x22], 0
test ebx, ebx
jne 0x4caa91
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 0x4caa78
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 0x4caa40
cmp eax, 0xa3e6f6c3
je 0x4cb94e
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 0x4caa89
cmp dword [ecx + 0x18], 0
jne 0x4caa21
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8f20]
test eax, eax
jne 0x4cab23
test ebx, ebx
je 0x4cab1c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cab1c
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cab1c
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 0x4cab0a
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 0x4caad5
cmp edi, 0x681a0483
je 0x4cb959
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 0x4caac5
xor eax, eax
mov dword [0x4f8f20], eax
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x4a4]
push ecx
call eax
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x4cabc5
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 0x4cabac
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 0x4cab74
cmp eax, 0xa3e6f6c3
je 0x4cb977
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 0x4cabbd
cmp dword [ecx + 0x18], 0
jne 0x4cab56
xor ebx, ebx
mov dword [0x4f081c], ebx
mov ecx, dword [0x4f8fac]
test ecx, ecx
jne 0x4cac5f
test ebx, ebx
je 0x4cac57
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 0x4cac59
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cac57
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 0x4cac45
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 0x4cac10
cmp edi, 0x3a1219d5
je 0x4cb982
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 0x4cac00
xor ecx, ecx
mov dword [0x4f8fac], ecx
mov eax, dword [ebp + 8]
add eax, 0x100
push eax
lea eax, [ebp - 0x4a4]
push eax
call ecx
mov ebx, dword [0x4f081c]
lea eax, [ebp - 0x4a4]
mov dword [ebp - 0x80], eax
test ebx, ebx
jne 0x4cad11
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 0x4cacf8
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 0x4cacc0
cmp eax, 0xa3e6f6c3
je 0x4cb9a0
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 0x4cad09
cmp dword [ecx + 0x18], 0
jne 0x4caca0
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8f44]
test eax, eax
jne 0x4cadae
test ebx, ebx
je 0x4cada7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cada7
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cada7
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 0x4cad95
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 0x4cad60
cmp edi, 0x792e9dc8
je 0x4cb9ab
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 0x4cad50
xor eax, eax
mov dword [0x4f8f44], eax
lea ecx, [ebp - 0x4a4]
push ecx
call eax
mov ebx, dword [0x4f07ac]
mov dword [ebp - 0x7c], eax
test ebx, ebx
jne 0x4cae51
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 0x4cae38
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 0x4cae00
cmp eax, 0xc0323159
je 0x4cb9c9
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 0x4cae49
cmp dword [ecx + 0x18], 0
jne 0x4cade0
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8f14]
test eax, eax
jne 0x4caeee
test ebx, ebx
je 0x4caee7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4caee7
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4caee7
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 0x4caed5
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 0x4caea0
cmp edi, 0x5216e3d
je 0x4cb9d4
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 0x4cae90
xor eax, eax
mov dword [0x4f8f14], eax
lea ecx, [ebp - 0x94]
push ecx
push 0
push 0x1006
push dword [0x4f8ab0]
call eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 2
mov byte [ebp - 0x1f], 0x2a
mov byte [ebp - 0x1e], 0x2a
mov byte [ebp - 0x1d], 0
mov al, byte [ebp - 0x1f]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x1f]
movsx eax, al
sub eax, 0xa
mov byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 2
jb 0x4caf30
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x4cafe1
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 word [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 0x4cafc8
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 0x4caf90
cmp eax, 0xa3e6f6c3
je 0x4cb9f2
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 0x4cafd9
cmp dword [ecx + 0x18], 0
jne 0x4caf70
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8f20]
test eax, eax
jne 0x4cb07e
test ebx, ebx
je 0x4cb077
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cb077
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb077
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 0x4cb065
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 0x4cb030
cmp edi, 0x681a0483
je 0x4cb9fd
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 0x4cb020
xor eax, eax
mov dword [0x4f8f20], eax
lea ecx, [ebp - 0x1f]
push ecx
lea ecx, [ebp - 0x4a4]
push ecx
call eax
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x4cb121
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 0x4cb108
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 0x4cb0d0
cmp eax, 0xa3e6f6c3
je 0x4cba1b
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 0x4cb119
cmp dword [ecx + 0x18], 0
jne 0x4cb0b1
xor ebx, ebx
mov dword [0x4f081c], ebx
mov ecx, dword [0x4f8fac]
test ecx, ecx
jne 0x4cb1bf
test ebx, ebx
je 0x4cb1b7
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 0x4cb1b9
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb1b7
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 0x4cb1a5
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 0x4cb170
cmp edi, 0x3a1219d5
je 0x4cba26
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 0x4cb160
xor ecx, ecx
mov dword [0x4f8fac], ecx
mov eax, dword [ebp + 8]
add eax, 0x200
push eax
lea eax, [ebp - 0x4a4]
push eax
call ecx
mov ebx, dword [0x4f081c]
lea eax, [ebp - 0x4a4]
mov dword [ebp - 0x80], eax
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 - 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 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 - 0x10]
imul eax, eax, 0x1000193
mov dword [ebp - 0x10], eax
cmp edi, ebx
jne 0x4cb220
cmp eax, 0xa3e6f6c3
je 0x4cba44
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 0x4cb269
cmp dword [ecx + 0x18], 0
jne 0x4cb200
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8f44]
test eax, eax
jne 0x4cb30e
test ebx, ebx
je 0x4cb307
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cb307
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb307
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 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, 0x792e9dc8
je 0x4cba4f
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 0x4cb2b0
xor eax, eax
mov dword [0x4f8f44], eax
lea ecx, [ebp - 0x4a4]
push ecx
call eax
mov ebx, dword [0x4f07ac]
mov dword [ebp - 0x7c], eax
test ebx, ebx
jne 0x4cb3b1
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 0x4cb398
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 0x4cb360
cmp eax, 0xc0323159
je 0x4cba6d
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 0x4cb3a9
cmp dword [ecx + 0x18], 0
jne 0x4cb340
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8f14]
test eax, eax
jne 0x4cb44f
test ebx, ebx
je 0x4cb448
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cb448
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb448
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 0x4cb436
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 0x4cb401
cmp edi, 0x5216e3d
je 0x4cba78
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 0x4cb3f1
xor eax, eax
mov dword [0x4f8f14], eax
lea ecx, [ebp - 0x94]
push ecx
push 0
push 0x1006
push dword [0x4f8ab0]
call eax
mov dword [ebp - 0x8c], 3
mov dword [ebp - 0x30], 0x20
mov eax, dword [ebp - 0x30]
xor eax, 0x20
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x30]
inc al
xor eax, 0x20
mov byte [ebp - 0x2b], al
mov eax, dword [ebp - 0x30]
add al, 2
mov byte [ebp - 0x29], 0
xor eax, 0x30
xor edx, edx
mov byte [ebp - 0x2a], al
mov al, byte [ebp - 0x2c]
nop
mov al, byte [ebp + edx - 0x2c]
mov ecx, dword [ebp - 0x30]
add cl, dl
movsx eax, al
xor ecx, eax
mov byte [ebp + edx - 0x2c], cl
inc edx
cmp edx, 3
jb 0x4cb4a0
mov ebx, dword [0x4f081c]
mov byte [ebp - 0x29], 0
test ebx, ebx
jne 0x4cb551
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 0x4cb538
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 0x4cb500
cmp eax, 0xa3e6f6c3
je 0x4cba96
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 0x4cb549
cmp dword [ecx + 0x18], 0
jne 0x4cb4e2
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8f20]
test eax, eax
jne 0x4cb5ef
test ebx, ebx
je 0x4cb5e8
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cb5e8
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb5e8
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 0x4cb5d6
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 0x4cb5a1
mov ecx, dword [ebp + 8]
cmp edi, 0x681a0483
je 0x4cbaa1
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 0x4cb591
xor eax, eax
mov dword [0x4f8f20], eax
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x4a4]
push ecx
call eax
mov ebx, dword [0x4f081c]
lea eax, [ebp - 0x4a4]
mov dword [ebp - 0x80], eax
test ebx, ebx
jne 0x4cb6a1
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 + 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 0x4cb688
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 0x4cb650
cmp eax, 0xa3e6f6c3
je 0x4cbabe
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 0x4cb699
cmp dword [ecx + 0x18], 0
jne 0x4cb630
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8f44]
test eax, eax
jne 0x4cb73f
test ebx, ebx
je 0x4cb738
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cb738
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb738
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 0x4cb726
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 0x4cb6f1
mov ecx, dword [ebp + 8]
cmp edi, 0x792e9dc8
je 0x4cbac9
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 0x4cb6e1
xor eax, eax
mov dword [0x4f8f44], eax
lea ecx, [ebp - 0x4a4]
push ecx
call eax
mov ebx, dword [0x4f07ac]
mov dword [ebp - 0x7c], eax
test ebx, ebx
jne 0x4cb7e1
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 0x4cb7c8
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 0x4cb790
cmp eax, 0xc0323159
je 0x4cbae6
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 0x4cb7d9
cmp dword [ecx + 0x18], 0
jne 0x4cb771
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8ffc]
test eax, eax
jne 0x4cb87f
test ebx, ebx
je 0x4cb878
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cb878
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cb878
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 0x4cb866
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 0x4cb831
mov ecx, dword [ebp + 8]
cmp edi, 0xf217dfb
je 0x4cbaf1
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 0x4cb821
xor eax, eax
mov dword [0x4f8ffc], eax
lea ecx, [ebp - 0x94]
push ecx
push 0
push 0x104c
push dword [0x4f8ab0]
call eax
mov ecx, dword [0x4f8ab0]
call fcn.004d7b80
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4ca46b
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 0x4ca4fe
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4ca5ab
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 0x4ca63e
mov eax, dword [ebp - 0xc]
mov esi, dword [eax + 0x18]
jmp 0x4ca77b
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x4ca819
mov eax, dword [ebp - 0xc]
mov esi, dword [eax + 0x18]
jmp 0x4ca8cb
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x4ca969
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4caa8b
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 0x4cab1e
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cabbf
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 0x4cac59
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cad0b
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 0x4cada9
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cae4b
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 0x4caee9
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cafdb
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 0x4cb079
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cb11b
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 0x4cb1b9
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cb26b
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 0x4cb309
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cb3ab
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 0x4cb44a
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cb54b
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 0x4cb5ea
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cb69b
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 0x4cb73a
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cb7db
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 0x4cb87a
mov eax, dword [ebp + 8]
mov esi, dword [0x4f081c]
add eax, 0x100
mov dword [ebp - 0x80], eax
test esi, esi
jne 0x4cbbb1
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
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 0x4cbb98
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 0x4cbb60
cmp eax, 0xa3e6f6c3
je 0x4cc05f
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 0x4cbba9
cmp dword [ecx + 0x18], 0
jne 0x4cbb40
xor esi, esi
mov dword [0x4f081c], esi
mov eax, dword [0x4f8f44]
test eax, eax
jne 0x4cbc4f
test esi, esi
je 0x4cbc48
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
lea eax, [ecx + esi]
mov dword [ebp - 8], eax
cmp eax, esi
je 0x4cbc48
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cbc48
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [ebp - 0x10], eax
mov edx, dword [eax]
mov edi, 0x811c9dc5
add edx, esi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x4cbc36
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test bl, bl
jne 0x4cbc01
mov ecx, dword [ebp - 0xc]
cmp edi, 0x792e9dc8
je 0x4cc06a
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 0x4cbbf1
xor eax, eax
mov dword [0x4f8f44], eax
push dword [ebp - 0x80]
call eax
mov ebx, dword [0x4f07ac]
mov dword [ebp - 0x7c], eax
test ebx, ebx
jne 0x4cbcf1
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 0x4cbcd8
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 0x4cbca0
cmp eax, 0xc0323159
je 0x4cc087
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 0x4cbce9
cmp dword [ecx + 0x18], 0
jne 0x4cbc80
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8f14]
test eax, eax
jne 0x4cbd8f
test ebx, ebx
je 0x4cbd88
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cbd88
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4cbd88
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 0x4cbd76
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 0x4cbd41
mov ecx, dword [ebp - 0xc]
cmp edi, 0x5216e3d
je 0x4cc092
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 0x4cbd31
xor eax, eax
mov dword [0x4f8f14], eax
lea ecx, [ebp - 0x94]
push ecx
push 0
push 0x1006
push dword [0x4f8ad8]
call eax
mov eax, dword [ebp - 0x14]
mov ebx, dword [0x4f081c]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 8]
add eax, 0x200
mov dword [ebp - 0x8c], 2
mov dword [ebp - 0x80], eax
test ebx, ebx
jne 0x4cbe61
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cbe48
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 0x4cbe10
cmp eax, 0xa3e6f6c3
je 0x4cc0af
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 0x4cbe59
cmp dword [ecx + 0x18], 0
jne 0x4cbdf0
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8f44]
test eax, eax
jne 0x4cbeff
test ebx, ebx
je 0x4cbef8
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cbef8
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cbef8
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 0x4cbee6
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 0x4cbeb1
mov ecx, dword [ebp + 8]
cmp edi, 0x792e9dc8
je 0x4cc0ba
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 0x4cbea1
xor eax, eax
mov dword [0x4f8f44], eax
push dword [ebp - 0x80]
call eax
mov ebx, dword [0x4f07ac]
mov dword [ebp - 0x7c], eax
test ebx, ebx
jne 0x4cbfa1
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 - 0x10], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cbf88
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 0x4cbf50
cmp eax, 0xc0323159
je 0x4cc0d7
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 0x4cbf99
cmp dword [ecx + 0x18], 0
jne 0x4cbf30
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8f14]
test eax, eax
jne 0x4cc03f
test ebx, ebx
je 0x4cc038
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cc038
xor ecx, ecx
mov dword [ebp + 8], ecx
cmp dword [eax + 0x18], ecx
je 0x4cc038
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 0x4cc026
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 0x4cbff1
mov ecx, dword [ebp + 8]
cmp edi, 0x5216e3d
je 0x4cc0e2
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 0x4cbfe1
xor eax, eax
mov dword [0x4f8f14], eax
lea ecx, [ebp - 0x94]
push ecx
push 0
push 0x1006
push dword [0x4f8ad8]
call eax
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xc]
mov esi, dword [eax + 0x18]
jmp 0x4cbbab
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
jmp 0x4cbc4a
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4cbceb
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 0x4cbd8a
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cbe5b
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 0x4cbefa
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x18]
jmp 0x4cbf9b
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 0x4cc03a