Function at 0x4cdf50
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, 0x94
push ebx
mov ebx, dword [0x4f07ac]
mov dword [ebp - 0xc], ecx
push esi
push edi
test ebx, ebx
jne 0x4cdff4
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 - 4], 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 0x4cdfdb
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 0x4cdfa3
cmp eax, 0xc0323159
je 0x4cedd0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x4cdfec
cmp dword [ecx + 0x18], 0
jne 0x4cdf85
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8fd4]
test eax, eax
jne 0x4ce091
test ebx, ebx
je 0x4ce08a
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x14], eax
lea eax, [ebx + ecx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4ce08a
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x4ce08a
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 0x4ce078
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 0x4ce043
cmp edi, 0x7e671782
je 0x4ceddb
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ce033
xor eax, eax
mov dword [0x4f8fd4], eax
push 0xfffffffffffffffa
push dword [ebp - 0xc]
call eax
mov ebx, dword [0x4f07ac]
mov dword [ebp - 0x14], eax
test ebx, ebx
jne 0x4ce131
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 4], 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 0x4ce118
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 0x4ce0e0
cmp eax, 0xc0323159
je 0x4cedf9
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x4ce129
cmp dword [ecx + 0x18], 0
jne 0x4ce0c2
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8fa0]
test eax, eax
jne 0x4ce1c3
test ebx, ebx
je 0x4ce1bc
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x4ce1bc
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x4ce1bc
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
sbb al, 0x81
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ce1aa
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 0x4ce175
cmp edi, 0x2b63548d
je 0x4cee04
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ce165
xor eax, eax
mov dword [0x4f8fa0], eax
push 0
push dword [ebp - 0x14]
push 0
push dword [ebp - 0xc]
push 0
push 0
push 0
push 0
push 0x5000010d
push 0
push 0x404994
push 0
call eax
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4cef3f
mov ebx, dword [0x4f07ac]
test ebx, ebx
jne 0x4ce286
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 4], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4ce26d
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 - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x4ce235
cmp eax, 0xc0323159
je 0x4cee22
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x4ce27e
cmp dword [ecx + 0x18], 0
jne 0x4ce217
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8b98]
test eax, eax
jne 0x4ce31e
test ebx, ebx
je 0x4ce317
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ce317
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x4ce317
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
nop
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ce305
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 0x4ce2d0
cmp edi, 0xd7222356
je 0x4cee2d
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ce2c0
xor eax, eax
mov dword [0x4f8b98], eax
push 0x4cef50
push 0xfffffffffffffffc
push dword [ebp - 0x10]
call eax
cmp dword [0x4f8aa4], 0
mov dword [0x4f8b04], eax
jne 0x4ce47a
mov ebx, dword [0x4f8f3c]
test ebx, ebx
jne 0x4ce3d1
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 - 4], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4ce3b8
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 - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x4ce380
cmp eax, 0x8b4d9112
je 0x4cee4b
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x4ce3c9
cmp dword [ecx + 0x18], 0
jne 0x4ce362
xor ebx, ebx
mov dword [0x4f8f3c], ebx
mov eax, dword [0x4f8f9c]
test eax, eax
jne 0x4ce46e
test ebx, ebx
je 0x4ce467
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ce467
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x4ce467
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ce455
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 0x4ce420
cmp edi, 0x3c11bb1c
je 0x4cee56
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ce410
xor eax, eax
mov dword [0x4f8f9c], eax
push 0xffffff
call eax
mov dword [0x4f8aa4], eax
cmp dword [0x4f8aec], 0
jne 0x4ce5bf
mov ebx, dword [0x4f8f3c]
test ebx, ebx
jne 0x4ce521
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 - 4], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4ce508
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 - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x4ce4d0
cmp eax, 0x8b4d9112
je 0x4cee74
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x4ce519
cmp dword [ecx + 0x18], 0
jne 0x4ce4b0
xor ebx, ebx
mov dword [0x4f8f3c], ebx
mov eax, dword [0x4f8f9c]
test eax, eax
jne 0x4ce5b3
test ebx, ebx
je 0x4ce5ac
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ce5ac
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x4ce5ac
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ce59a
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 0x4ce565
cmp edi, 0x3c11bb1c
je 0x4cee7f
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ce555
xor eax, eax
mov dword [0x4f8f9c], eax
push 0xfcf8f7
call eax
mov dword [0x4f8aec], eax
cmp dword [0x4f8abc], 0
jne 0x4ce6ff
mov ebx, dword [0x4f8f3c]
test ebx, ebx
jne 0x4ce661
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 - 4], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4ce648
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 - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x4ce610
cmp eax, 0x8b4d9112
je 0x4cee9d
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x4ce659
cmp dword [ecx + 0x18], 0
jne 0x4ce5f2
xor ebx, ebx
mov dword [0x4f8f3c], ebx
mov eax, dword [0x4f8f9c]
test eax, eax
jne 0x4ce6f3
test ebx, ebx
je 0x4ce6ec
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ce6ec
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x4ce6ec
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ce6da
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 0x4ce6a5
cmp edi, 0x3c11bb1c
je 0x4ceea8
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ce695
xor eax, eax
mov dword [0x4f8f9c], eax
push 0xe5e5e5
call eax
mov dword [0x4f8abc], eax
cmp dword [0x4f8af4], 0
jne 0x4ce9a6
mov dword [ebp - 0x58], 0x41
mov eax, 0x11
mov word [ebp - 0x54], ax
mov edx, 0x2e
mov eax, 0x33
mov ecx, 0x20
mov word [ebp - 0x52], ax
mov eax, 0x39
mov word [ebp - 0x50], dx
mov word [ebp - 0x4e], ax
mov eax, 0x28
mov word [ebp - 0x4c], ax
mov eax, 0x2c
mov word [ebp - 0x4a], ax
mov eax, 0x61
mov word [ebp - 0x48], cx
mov word [ebp - 0x46], ax
mov eax, 0xf
mov word [ebp - 0x44], ax
mov eax, 0x37
mov word [ebp - 0x42], dx
mov word [ebp - 0x40], ax
mov eax, 0x41
mov word [ebp - 0x3e], cx
mov word [ebp - 0x3c], ax
movzx eax, word [0x403e42]
xor eax, 0x41
mov word [ebp - 0x3a], ax
movzx eax, word [0x403e44]
xor eax, 0x41
mov word [ebp - 0x38], ax
movzx eax, word [0x403e46]
xor eax, 0x41
mov word [ebp - 0x36], ax
movzx eax, word [0x403e48]
xor eax, 0x41
mov word [ebp - 0x34], ax
movzx eax, word [0x403e4a]
xor eax, 0x41
mov word [ebp - 0x32], ax
movzx eax, word [0x403e4c]
xor eax, 0x41
mov word [ebp - 0x30], ax
movzx eax, word [0x403e4e]
xor eax, 0x41
mov word [ebp - 0x2e], ax
movzx eax, word [0x403e50]
xor eax, 0x41
mov word [ebp - 0x2c], ax
movzx eax, word [0x403e52]
xor eax, 0x41
mov word [ebp - 0x2a], ax
movzx eax, word [0x403e54]
xor eax, 0x41
mov word [ebp - 0x28], ax
movzx eax, word [0x403e56]
xor eax, 0x41
mov word [ebp - 0x26], ax
movzx eax, word [0x403e58]
xor eax, 0x41
mov word [ebp - 0x24], ax
xor eax, eax
mov word [ebp - 0x22], ax
xor edx, edx
mov ax, word [ebp - 0x54]
mov ax, word [ebp + edx*2 - 0x54]
movzx ecx, ax
movzx eax, word [ebp - 0x58]
xor ecx, eax
mov word [ebp + edx*2 - 0x54], cx
inc edx
cmp edx, 0x19
jb 0x4ce832
mov ebx, dword [0x4f8f3c]
xor eax, eax
mov word [ebp - 0x22], ax
test ebx, ebx
jne 0x4ce8e6
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 - 4], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4ce8cd
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 - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x4ce895
cmp eax, 0x8b4d9112
je 0x4ceec6
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x4ce8de
cmp dword [ecx + 0x18], 0
jne 0x4ce877
xor ebx, ebx
mov dword [0x4f8f3c], ebx
mov eax, dword [0x4f8f74]
test eax, eax
jne 0x4ce97e
test ebx, ebx
je 0x4ce977
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ce977
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x4ce977
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
nop
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ce965
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 0x4ce930
cmp edi, 0x6ae3b22d
je 0x4ceed1
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ce920
xor eax, eax
mov dword [0x4f8f74], eax
lea ecx, [ebp - 0x54]
push ecx
push 0
push 2
push 0
push 0
push 0
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push 0x14
call eax
mov dword [0x4f8af4], eax
cmp dword [0x4f8af0], 0
jne 0x4cec79
mov dword [ebp - 0x90], 9
mov eax, 0x59
mov word [ebp - 0x8c], ax
mov edx, 0x66
mov eax, 0x7b
mov ecx, 0x68
mov word [ebp - 0x8a], ax
mov eax, 0x71
mov word [ebp - 0x88], dx
mov word [ebp - 0x86], ax
mov eax, 0x60
mov word [ebp - 0x84], ax
mov eax, 0x64
mov word [ebp - 0x82], ax
mov eax, 0x29
mov word [ebp - 0x80], cx
mov word [ebp - 0x7e], ax
mov eax, 0x47
mov word [ebp - 0x7c], ax
mov eax, 0x7f
mov word [ebp - 0x7a], dx
mov word [ebp - 0x78], ax
mov eax, 9
mov word [ebp - 0x76], cx
mov word [ebp - 0x74], ax
movzx eax, word [0x403e42]
xor eax, 9
mov word [ebp - 0x72], ax
movzx eax, word [0x403e44]
xor eax, 9
mov word [ebp - 0x70], ax
movzx eax, word [0x403e46]
xor eax, 9
mov word [ebp - 0x6e], ax
movzx eax, word [0x403e48]
xor eax, 9
mov word [ebp - 0x6c], ax
movzx eax, word [0x403e4a]
xor eax, 9
mov word [ebp - 0x6a], ax
movzx eax, word [0x403e4c]
xor eax, 9
mov word [ebp - 0x68], ax
movzx eax, word [0x403e4e]
xor eax, 9
mov word [ebp - 0x66], ax
movzx eax, word [0x403e50]
xor eax, 9
mov word [ebp - 0x64], ax
movzx eax, word [0x403e52]
xor eax, 9
mov word [ebp - 0x62], ax
movzx eax, word [0x403e54]
xor eax, 9
mov word [ebp - 0x60], ax
movzx eax, word [0x403e56]
xor eax, 9
mov word [ebp - 0x5e], ax
movzx eax, word [0x403e58]
xor eax, 9
mov word [ebp - 0x5c], ax
xor eax, eax
mov word [ebp - 0x5a], ax
xor edx, edx
mov ax, word [ebp - 0x8c]
mov ax, word [ebp + edx*2 - 0x8c]
movzx ecx, ax
movzx eax, word [ebp - 0x90]
xor ecx, eax
mov word [ebp + edx*2 - 0x8c], cx
inc edx
cmp edx, 0x19
jb 0x4ceaf1
mov ebx, dword [0x4f8f3c]
xor eax, eax
mov word [ebp - 0x5a], ax
test ebx, ebx
jne 0x4cebb1
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 - 4], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4ceb98
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 - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x4ceb60
cmp eax, 0x8b4d9112
je 0x4ceeef
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x4ceba9
cmp dword [ecx + 0x18], 0
jne 0x4ceb40
xor ebx, ebx
mov dword [0x4f8f3c], ebx
mov eax, dword [0x4f8f74]
test eax, eax
jne 0x4cec4e
test ebx, ebx
je 0x4cec47
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4cec47
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x4cec47
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4cec35
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 0x4cec00
mov ecx, dword [ebp - 4]
cmp edi, 0x6ae3b22d
je 0x4ceefa
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4cebf0
xor eax, eax
mov dword [0x4f8f74], eax
lea ecx, [ebp - 0x8c]
push ecx
push 0
push 2
push 0
push 0
push 0
push 0
push 0
push 0
push 0x2bc
push 0
push 0
push 0
push 0x14
call eax
mov dword [0x4f8af0], eax
mov ebx, dword [0x4f07ac]
test ebx, ebx
jne 0x4ced11
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 - 4], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4cecf8
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 - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x4cecc0
cmp eax, 0xc0323159
je 0x4cef17
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x4ced09
cmp dword [ecx + 0x18], 0
jne 0x4ceca0
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f8ffc]
test eax, eax
jne 0x4cedae
test ebx, ebx
je 0x4ceda7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4ceda7
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x4ceda7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4ced95
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 0x4ced60
mov ecx, dword [ebp - 4]
cmp edi, 0xf217dfb
je 0x4cef22
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x4ced50
xor eax, eax
mov dword [0x4f8ffc], eax
mov ebx, dword [ebp - 0x10]
push 1
push dword [0x4f8af4]
push 0x30
push ebx
call eax
cmp eax, 0xffffffff
je 0x4cef3f
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x4cdfee
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
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 0x4ce08c
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x4ce12b
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
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 0x4ce1be
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x4ce280
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
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 0x4ce319
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x4ce3cb
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
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 0x4ce469
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x4ce51b
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
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 0x4ce5ae
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x4ce65b
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
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 0x4ce6ee
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x4ce8e0
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
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 0x4ce979
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x4cebab
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 0x4cec49
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x4ced0b
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 0x4ceda9
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret