Function at 0x49a1e0
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, 0x1a4
push ebx
mov ebx, dword [0x4f081c]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0xc], ecx
push esi
push edi
test ebx, ebx
jne 0x49a291
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 + 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 0x49a278
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 0x49a240
cmp eax, 0xa3e6f6c3
je 0x49ac8c
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 0x49a289
cmp dword [ecx + 0x18], 0
jne 0x49a220
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8c50]
test eax, eax
jne 0x49a32e
test ebx, ebx
je 0x49a327
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x48], eax
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x49a327
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49a327
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 0x49a315
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 0x49a2e0
cmp edi, 0xa623a735
je 0x49ac97
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x49a2d0
xor eax, eax
mov dword [0x4f8c50], eax
call eax
mov ebx, dword [0x4f083c]
mov dword [ebp - 0x48], eax
test ebx, ebx
jne 0x49a3d1
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 - 8], eax
mov edx, eax
mov dword [ebp - 4], 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 0x49a3b8
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 0x49a380
cmp eax, 0x39794115
je 0x49acb5
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 0x49a3c9
cmp dword [ecx + 0x18], 0
jne 0x49a360
xor ebx, ebx
mov dword [0x4f083c], ebx
mov eax, dword [0x4f8c1c]
test eax, eax
jne 0x49a463
test ebx, ebx
je 0x49a45c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x49a45c
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49a45c
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 0x49a44a
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 0x49a415
cmp edi, 0x35b74fa
je 0x49acc0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x49a405
xor eax, eax
mov dword [0x4f8c1c], eax
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x38]
push ecx
push 0
push 0
push 1
push dword [ebp - 0xc]
call eax
test eax, eax
jne 0x49b15d
cmp dword fs:[0x34], 0xea
jne 0x49b1b6
mov ecx, dword [ebp - 0x38]
call fcn.004baba0
mov dword [ebp - 0x34], eax
test eax, eax
je 0x49b1b6
push dword [ebp - 0x38]
push 0
push eax
call fcn.0040d020
mov ebx, dword [0x4f083c]
add esp, 0xc
test ebx, ebx
jne 0x49a545
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 0x49a52c
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 0x49a4f4
cmp eax, 0x39794115
je 0x49acde
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 0x49a53d
cmp dword [ecx + 0x18], 0
jne 0x49a4d6
xor ebx, ebx
mov dword [0x4f083c], ebx
mov eax, dword [0x4f8c1c]
test eax, eax
jne 0x49a5de
test ebx, ebx
je 0x49a5d7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x49a5d7
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49a5d7
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 0x49a5c5
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 0x49a590
cmp edi, 0x35b74fa
je 0x49ace9
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], eax
cmp ecx, dword [edx + 0x18]
jne 0x49a580
xor eax, eax
mov dword [0x4f8c1c], eax
mov ebx, dword [ebp - 0x34]
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x38]
push ecx
push dword [ebp - 0x38]
push ebx
push 1
push dword [ebp - 0xc]
call eax
test eax, eax
je 0x49b1b6
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x40], eax
jbe 0x49b156
nop word [eax + eax]
lea eax, [eax + eax*8]
movups xmm0, xmmword [ebx + eax*4]
movups xmmword [ebp - 0x94], xmm0
movups xmm0, xmmword [ebx + eax*4 + 0x10]
mov ebx, dword [0x4f083c]
movups xmmword [ebp - 0x84], xmm0
test ebx, ebx
jne 0x49a6c1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x10], eax
mov edx, eax
mov dword [ebp - 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 0x49a6a8
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 0x49a670
cmp eax, 0x39794115
je 0x49ad07
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 0x49a6b9
cmp dword [ecx + 0x18], 0
jne 0x49a650
xor ebx, ebx
mov dword [0x4f083c], ebx
mov eax, dword [0x4f8c48]
test eax, eax
jne 0x49a753
test ebx, ebx
je 0x49a74c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x49a74c
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49a74c
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 0x49a73a
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 0x49a705
cmp edi, 0xd015767b
je 0x49ad12
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x49a6f5
xor eax, eax
mov dword [0x4f8c48], eax
push 0x24
push dword [ebp - 0x94]
push dword [ebp - 0x44]
call eax
mov dword [ebp - 0x10], eax
test eax, eax
je 0x49b1b6
mov ebx, dword [0x4f083c]
test ebx, ebx
jne 0x49a801
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 0x49a7e8
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 0x49a7b0
cmp eax, 0x39794115
je 0x49ad30
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 0x49a7f9
cmp dword [ecx + 0x18], 0
jne 0x49a792
xor ebx, ebx
mov dword [0x4f083c], ebx
mov eax, dword [0x4f8c0c]
test eax, eax
jne 0x49a893
test ebx, ebx
je 0x49a88c
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x49a88c
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49a88c
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 0x49a87a
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 0x49a845
cmp edi, 0x7b471a35
je 0x49ad3b
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 0x49a835
xor eax, eax
mov dword [0x4f8c0c], eax
lea ecx, [ebp - 0x70]
push ecx
push 1
push dword [ebp - 0x10]
call eax
test eax, eax
je 0x49b1b6
cmp dword [ebp - 0x6c], 1
je 0x49b011
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x49a945
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 0x49a92c
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 0x49a8f4
cmp eax, 0xa3e6f6c3
je 0x49ad59
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 0x49a93d
cmp dword [ecx + 0x18], 0
jne 0x49a8d6
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f0774]
test eax, eax
jne 0x49a9de
test ebx, ebx
je 0x49a9d7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x49a9d7
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49a9d7
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 0x49a9c5
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 0x49a990
cmp edi, 0x89eabb08
je 0x49ad64
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 0x49a980
xor eax, eax
mov dword [0x4f0774], eax
push dword [ebp - 0x58]
call eax
mov ebx, dword [0x4f083c]
test ebx, ebx
jne 0x49aa81
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 0x49aa68
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 0x49aa30
cmp eax, 0x39794115
je 0x49ad82
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 0x49aa79
cmp dword [ecx + 0x18], 0
jne 0x49aa10
xor ebx, ebx
mov dword [0x4f083c], ebx
mov eax, dword [0x4f8c2c]
test eax, eax
jne 0x49ab1e
test ebx, ebx
je 0x49ab17
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x49ab17
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49ab17
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 0x49ab05
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 0x49aad0
cmp edi, 0x6a6d8cdd
je 0x49ad8d
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 0x49aac0
xor eax, eax
mov dword [0x4f8c2c], eax
lea ecx, [ebp - 0x38]
push ecx
push 0x24
lea ecx, [ebp - 0x70]
push ecx
push 0
push dword [ebp - 0x10]
call eax
test eax, eax
je 0x49b1b6
cmp dword [ebp - 0x6c], 1
je 0x49add0
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x49abd6
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 0x49abbd
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 0x49ab85
cmp eax, 0xa3e6f6c3
je 0x49adab
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 0x49abce
cmp dword [ecx + 0x18], 0
jne 0x49ab67
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8c50]
test eax, eax
jne 0x49ac6d
test ebx, ebx
je 0x49ac66
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x49ac66
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x49ac66
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 4]
add eax, ebx
mov dword [ebp - 0xc], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
mov al, byte [esi + ebx]
add esi, ebx
inc esi
test al, al
je 0x49ac54
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x49ac21
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
cmp edi, 0xa623a735
je 0x49adb6
mov eax, dword [ebp - 0xc]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x49ac10
xor eax, eax
mov dword [0x4f8c50], eax
call eax
sub eax, dword [ebp - 0x48]
cmp eax, 0x7530
ja 0x49b1b6
cmp dword [ebp - 0x6c], 1
jne 0x49a8b0
jmp 0x49b011
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49a28b
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 0x49a329
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49a3cb
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 0x49a45e
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49a53f
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 0x49a5d9
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49a6bb
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 0x49a74e
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49a7fb
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 0x49a88e
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49a93f
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 0x49a9d9
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49aa7b
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 0x49ab19
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49abd0
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 0x49ac68
mov dword [ebp - 0x30], 0x2c
mov eax, dword [ebp - 0x30]
xor eax, 0x53
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x30]
inc al
xor eax, 0x65
mov byte [ebp - 0x2b], al
mov eax, dword [ebp - 0x30]
add al, 2
xor eax, 0x72
mov byte [ebp - 0x2a], al
mov eax, dword [ebp - 0x30]
add al, 3
xor eax, 0x76
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x30]
add al, 4
xor eax, 0x69
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x30]
add al, 5
xor eax, 0x63
mov byte [ebp - 0x27], al
mov eax, dword [ebp - 0x30]
add al, 6
xor eax, 0x65
mov byte [ebp - 0x26], al
mov eax, dword [ebp - 0x30]
add al, 7
xor eax, 0x20
mov byte [ebp - 0x25], al
mov eax, dword [ebp - 0x30]
add al, 8
xor eax, 0x25
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 0x30]
add al, 9
xor eax, 0x73
mov byte [ebp - 0x23], al
mov eax, dword [ebp - 0x30]
add al, 0xa
xor eax, 0x20
mov byte [ebp - 0x22], al
mov eax, dword [ebp - 0x30]
add al, 0xb
xor eax, 0x73
mov byte [ebp - 0x21], al
mov eax, dword [ebp - 0x30]
add al, 0xc
xor eax, 0x74
mov byte [ebp - 0x20], al
mov eax, dword [ebp - 0x30]
add al, 0xd
xor eax, 0x6f
mov byte [ebp - 0x1f], al
mov eax, dword [ebp - 0x30]
add al, 0xe
xor eax, 0x70
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x30]
add al, 0xf
xor eax, 0x70
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x30]
add al, 0x10
xor eax, 0x65
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x30]
add al, 0x11
mov byte [ebp - 0x1a], 0
xor eax, 0x64
xor edx, edx
mov byte [ebp - 0x1b], al
mov al, byte [ebp - 0x2c]
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, 0x12
jb 0x49aea4
mov ebx, dword [0x4f07ac]
mov byte [ebp - 0x1a], 0
test ebx, ebx
jne 0x49af55
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 - 4], 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 - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x49af3c
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 0x49af04
cmp eax, 0xc0323159
je 0x49b169
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x49af4d
cmp dword [ecx + 0x18], 0
jne 0x49aee6
xor ebx, ebx
mov dword [0x4f07ac], ebx
mov eax, dword [0x4f07a4]
test eax, eax
jne 0x49afee
test ebx, ebx
je 0x49afe7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x49afe7
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x49afe7
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 0x49afd5
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 0x49afa0
mov ecx, dword [ebp - 8]
cmp edi, 0x98b3a433
je 0x49b174
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x49af90
xor eax, eax
mov dword [0x4f07a4], eax
push dword [ebp - 0x94]
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x1a0]
push ecx
call eax
add esp, 0xc
lea ecx, [ebp - 0x1a0]
xor edx, edx
call fcn.004e09d0
mov ebx, dword [0x4f083c]
test ebx, ebx
jne 0x49b0a6
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 - 4], 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 - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x49b08d
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 0x49b055
cmp eax, 0x39794115
je 0x49b191
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 8], ecx
cmp eax, edx
je 0x49b09e
cmp dword [ecx + 0x18], 0
jne 0x49b037
xor ebx, ebx
mov dword [0x4f083c], ebx
mov eax, dword [0x4f8c40]
test eax, eax
jne 0x49b13e
test ebx, ebx
je 0x49b137
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x49b137
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x49b137
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 0x49b125
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 0x49b0f0
mov ecx, dword [ebp - 8]
cmp edi, 0xb2279bc0
je 0x49b19c
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x49b0e0
xor eax, eax
mov dword [0x4f8c40], eax
push dword [ebp - 0x10]
call eax
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x40]
jb 0x49a610
mov ecx, ebx
call fcn.004bb000
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x49af4f
mov edx, dword [ebp - 4]
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 0x49afe9
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
jmp 0x49b0a0
mov edx, dword [ebp - 4]
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 0x49b139
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret