Function at 0x44e120
Capabilities:
Access peb ldr_data
Create directory
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x822be1
mov eax, dword fs:[0]
push eax
sub esp, 0xb34
mov eax, dword [0x93bf44]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x181cbec]
push 0x208
mov dword [ebp - 0xb40], eax
lea eax, [ebp - 0x830]
push 0
push eax
call fcn.006ce4d0
mov eax, dword fs:[0x30]
add esp, 0xc
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb3c], edi
xor edi, edi
mov dword [ebp - 0xb28], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb34], ecx
test ecx, ecx
je 0x44e1ee
mov eax, dword [ebp - 0xb3c]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44e1c2
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb34]
jne 0x44e1b2
mov dword [ebp - 0xb3c], eax
cmp dword [ebp - 0xb3c], 0xa3e6f6c3
mov eax, dword [ebp - 0xb28]
je 0x44e1f2
mov eax, dword [eax]
jmp 0x44e17a
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d0a4]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x44e2cc
test esi, esi
je 0x44e2c5
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb34], eax
xor eax, eax
mov dword [ebp - 0xb28], ecx
cmp ecx, esi
je 0x44e2c7
mov dword [ebp - 0xb3c], eax
cmp dword [ecx + 0x18], eax
je 0x44e2c5
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44e281
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44e264
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x44e257
cmp esi, 0xeb3e491b
je 0x44e29e
mov eax, dword [ebp - 0xb3c]
mov ecx, dword [ebp - 0xb28]
inc eax
add edi, 4
mov dword [ebp - 0xb3c], eax
cmp eax, dword [ecx + 0x18]
je 0x44e2c5
mov esi, dword [ebp - 0xb2c]
jmp 0x44e247
mov eax, dword [ebp - 0xb28]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb3c]
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 0x44e2c7
xor eax, eax
mov dword [0x181d0a4], eax
push 0x104
lea ecx, [ebp - 0x830]
push ecx
push 0
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb3c], edi
xor edi, edi
mov dword [ebp - 0xb2c], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb34], ecx
test ecx, ecx
je 0x44e35c
mov eax, dword [ebp - 0xb3c]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44e330
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb34]
jne 0x44e320
mov dword [ebp - 0xb3c], eax
cmp dword [ebp - 0xb3c], 0x8ec4c73b
mov eax, dword [ebp - 0xb2c]
je 0x44e360
mov eax, dword [eax]
jmp 0x44e2e8
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d0b0]
mov dword [ebp - 0xb28], esi
test eax, eax
jne 0x44e43a
test esi, esi
je 0x44e433
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb34], eax
xor eax, eax
mov dword [ebp - 0xb2c], ecx
cmp ecx, esi
je 0x44e435
mov dword [ebp - 0xb3c], eax
cmp dword [ecx + 0x18], eax
je 0x44e433
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44e3ef
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44e3d2
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x44e3c5
cmp esi, 0xa30775f0
je 0x44e40c
mov eax, dword [ebp - 0xb3c]
mov ecx, dword [ebp - 0xb2c]
inc eax
add edi, 4
mov dword [ebp - 0xb3c], eax
cmp eax, dword [ecx + 0x18]
je 0x44e433
mov esi, dword [ebp - 0xb28]
jmp 0x44e3b5
mov eax, dword [ebp - 0xb2c]
mov esi, dword [ebp - 0xb28]
mov edx, dword [ebp - 0xb3c]
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 0x44e435
xor eax, eax
mov dword [0x181d0b0], eax
lea ecx, [ebp - 0x830]
push ecx
call eax
lea ecx, [ebp - 0x830]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44e450
mov esi, dword [ebp - 0xb40]
lea eax, [ebp - 0x830]
sub ecx, edx
sar ecx, 1
push ecx
push eax
lea ecx, [esi + 0x718]
call fcn.0040ea60
lea ecx, [ebp - 0xae4]
mov dword [ebp - 4], 0
call fcn.004056e0
lea ecx, [ebp - 0xae4]
call fcn.00405700
lea edx, [ebp - 0xae4]
mov dword [ebp - 4], 1
mov ecx, 0x10
call fcn.0041c180
add esi, 0x6d0
mov ecx, 0x10
mov edx, esi
mov dword [ebp - 0xb3c], esi
call fcn.004151e0
push 0x8fe298
lea eax, [ebp - 0xb24]
push esi
push eax
call fcn.0041ead0
push 0x208
lea eax, [ebp - 0x420]
mov byte [ebp - 4], 2
push 0
push eax
call fcn.006ce4d0
mov eax, dword fs:[0x30]
add esp, 0x18
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb34], 0
mov dword [ebp - 0xb2c], eax
mov dword [ebp - 0xb28], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0xb34]
mov dword [ebp - 0xb34], ecx
test ecx, ecx
je 0x44e576
mov eax, dword [ebp - 0xb28]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44e554
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0xb34]
jne 0x44e544
mov eax, dword [ebp - 0xb2c]
cmp esi, 0xa3e6f6c3
je 0x44e57a
mov eax, dword [eax]
jmp 0x44e4fc
mov edi, dword [0x181d0ac]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb34], esi
test edi, edi
jne 0x44e656
test esi, esi
je 0x44e64e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb2c], eax
mov dword [ebp - 0xb2c], ecx
cmp ecx, esi
je 0x44e64e
xor eax, eax
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44e64e
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44e60a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44e5ed
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x44e5e0
cmp esi, 0x62478425
je 0x44e627
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb2c]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44e64e
mov esi, dword [ebp - 0xb34]
jmp 0x44e5d0
mov eax, dword [ebp - 0xb2c]
mov esi, dword [ebp - 0xb34]
mov edx, dword [ebp - 0xb28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x44e650
xor edi, edi
mov dword [0x181d0ac], edi
movq xmm0, qword [0x901998]
xor esi, esi
mov ax, word [0x9019a0]
movq qword [ebp - 0xa64], xmm0
mov word [ebp - 0xa5c], ax
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0xa64], cx
inc esi
cmp esi, 5
jl 0x44e675
push 0x103
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0xa64]
push eax
call edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb2c], 0
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb28], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44e739
mov eax, dword [ebp - 0xb28]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44e717
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0xb2c]
jne 0x44e707
mov eax, dword [ebp - 0xb34]
cmp esi, 0x8ec4c73b
je 0x44e73d
mov eax, dword [eax]
jmp 0x44e6bf
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d0b4]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x44e817
test esi, esi
je 0x44e810
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb34], eax
xor eax, eax
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44e812
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44e810
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44e7cc
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44e7af
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x44e7a2
cmp esi, 0x1317a7a0
je 0x44e7e9
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44e810
mov esi, dword [ebp - 0xb2c]
jmp 0x44e792
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
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 0x44e812
xor eax, eax
mov dword [0x181d0b4], eax
lea ecx, [ebp - 0x420]
push ecx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb2c], 0
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb28], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44e8a6
mov eax, dword [ebp - 0xb28]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44e884
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0xb2c]
jne 0x44e874
mov eax, dword [ebp - 0xb34]
cmp esi, 0x8ec4c73b
je 0x44e8aa
mov eax, dword [eax]
jmp 0x44e82c
mov ecx, dword [0x181d0b8]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb2c], esi
test ecx, ecx
jne 0x44e986
test esi, esi
je 0x44e97e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44e97e
xor eax, eax
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44e97e
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44e93a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44e91d
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x44e910
cmp esi, 0x93ffc6af
je 0x44e957
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44e97e
mov esi, dword [ebp - 0xb2c]
jmp 0x44e900
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
jmp 0x44e980
xor ecx, ecx
mov dword [0x181d0b8], ecx
cmp dword [ebp - 0xad0], 8
lea eax, [ebp - 0xae4]
cmovae eax, dword [ebp - 0xae4]
push eax
lea eax, [ebp - 0x420]
push eax
call ecx
lea ecx, [ebp - 0x420]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44e9b0
mov esi, dword [ebp - 0xb40]
sub ecx, edx
sar ecx, 1
push ecx
lea ecx, [ebp - 0x420]
push ecx
lea ecx, [esi + 0x6b8]
call fcn.0040ea60
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.006ce4d0
mov eax, dword fs:[0x30]
add esp, 0xc
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44ea6e
mov eax, dword [ebp - 0xb28]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44ea42
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x44ea32
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0xa3e6f6c3
mov eax, dword [ebp - 0xb34]
je 0x44ea72
mov eax, dword [eax]
jmp 0x44e9fa
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d0ac]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x44eb4c
test esi, esi
je 0x44eb45
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb34], eax
xor eax, eax
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44eb47
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44eb45
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44eb01
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44eae4
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x44ead7
cmp esi, 0x62478425
je 0x44eb1e
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44eb45
mov esi, dword [ebp - 0xb2c]
jmp 0x44eac7
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
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 0x44eb47
xor eax, eax
mov dword [0x181d0ac], eax
push 0x208
lea ecx, [ebp - 0x628]
push ecx
push 0x8ffe98
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb2c], 0
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb28], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44ebe5
mov eax, dword [ebp - 0xb28]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44ebc3
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0xb2c]
jne 0x44ebb3
mov eax, dword [ebp - 0xb34]
cmp esi, 0x8ec4c73b
je 0x44ebe9
mov eax, dword [eax]
jmp 0x44eb6b
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d0b4]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x44ecc5
test esi, esi
je 0x44ecbe
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb34], eax
xor eax, eax
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44ecc0
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44ecbe
mov edi, dword [ecx + 0x20]
add edi, esi
nop
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44ec7a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44ec5d
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x44ec50
cmp esi, 0x1317a7a0
je 0x44ec97
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44ecbe
mov esi, dword [ebp - 0xb2c]
jmp 0x44ec40
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
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 0x44ecc0
xor eax, eax
mov dword [0x181d0b4], eax
lea ecx, [ebp - 0x628]
push ecx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb2c], 0
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb28], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44ed54
mov eax, dword [ebp - 0xb28]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44ed32
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0xb2c]
jne 0x44ed22
mov eax, dword [ebp - 0xb34]
cmp esi, 0x8ec4c73b
je 0x44ed58
mov eax, dword [eax]
jmp 0x44ecda
mov edi, dword [0x181d0b8]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb2c], esi
test edi, edi
jne 0x44ee36
test esi, esi
je 0x44ee2e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44ee2e
xor eax, eax
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44ee2e
mov edi, dword [ecx + 0x20]
add edi, esi
nop
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44edea
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44edcd
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x44edc0
cmp esi, 0x93ffc6af
je 0x44ee07
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44ee2e
mov esi, dword [ebp - 0xb2c]
jmp 0x44edb0
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x44ee30
xor edi, edi
mov dword [0x181d0b8], edi
movups xmm0, xmmword [0x9019a4]
mov ax, word [0x9019c4]
xor esi, esi
cmp dword [0x1816094], 2
movups xmmword [ebp - 0xacc], xmm0
mov word [ebp - 0xaac], ax
movups xmm0, xmmword [0x9019b4]
lea ecx, [esi + 4]
lea edx, [esi + 0x1f]
movups xmmword [ebp - 0xabc], xmm0
jl 0x44ef90
movaps xmm4, xmmword [0x9036b0]
movaps xmm3, xmmword [0x903750]
movaps xmm6, xmmword [0x9036e0]
movd xmm5, ecx
movd xmm7, edx
movd xmm0, esi
lea eax, [esi + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp + esi*2 - 0xacc]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movq qword [ebp + esi*2 - 0xacc], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp + esi*2 - 0xac4]
pxor xmm1, xmm0
movq qword [ebp + esi*2 - 0xac4], xmm1
add esi, 8
cmp esi, 0x10
jl 0x44ee91
cmp esi, 0x11
jge 0x44efb9
nop dword [eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0xacc], cx
inc esi
cmp esi, 0x11
jl 0x44ef90
lea eax, [ebp - 0xacc]
push eax
lea eax, [ebp - 0x628]
push eax
call edi
lea ecx, [ebp - 0x628]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44efd2
mov esi, dword [ebp - 0xb40]
lea eax, [ebp - 0x628]
sub ecx, edx
sar ecx, 1
push ecx
push eax
lea ecx, [esi + 0x6e8]
call fcn.0040ea60
cmp dword [esi + 0x6fc], 8
lea eax, [esi + 0x6e8]
jb 0x44f00f
mov eax, dword [esi + 0x6e8]
push eax
call fcn.006e2a53
mov eax, dword fs:[0x30]
add esp, 4
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44f09c
mov eax, dword [ebp - 0xb28]
nop dword [eax]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44f070
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x44f060
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0x8ec4c73b
mov eax, dword [ebp - 0xb34]
je 0x44f0a0
mov eax, dword [eax]
jmp 0x44f024
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d000]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x44f17a
test esi, esi
je 0x44f173
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb34], eax
xor eax, eax
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44f175
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44f173
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44f12f
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44f112
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x44f105
cmp esi, 0xa4ae4da5
je 0x44f14c
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44f173
mov esi, dword [ebp - 0xb2c]
jmp 0x44f0f5
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
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 0x44f175
xor eax, eax
mov dword [0x181d000], eax
mov esi, dword [ebp - 0xb40]
cmp dword [esi + 0x6fc], 8
lea ecx, [esi + 0x6e8]
jb 0x44f195
mov ecx, dword [esi + 0x6e8]
push ecx
call eax
test eax, eax
jne 0x44f3af
push 0x208
push eax
lea eax, [ebp - 0xa38]
push eax
call fcn.006ce4d0
mov eax, dword fs:[0x30]
add esp, 0xc
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44f23c
mov eax, dword [ebp - 0xb28]
nop dword [eax]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44f210
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x44f200
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0xa3e6f6c3
mov eax, dword [ebp - 0xb34]
je 0x44f240
mov eax, dword [eax]
jmp 0x44f1c1
mov edi, dword [0x181d0ac]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb2c], esi
test edi, edi
jne 0x44f31c
test esi, esi
je 0x44f314
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44f314
xor eax, eax
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44f314
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44f2d0
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44f2b3
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x44f2a6
cmp esi, 0x62478425
je 0x44f2ed
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44f314
mov esi, dword [ebp - 0xb2c]
jmp 0x44f296
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x44f316
xor edi, edi
mov dword [0x181d0ac], edi
movq xmm0, qword [0x901998]
xor esi, esi
mov ax, word [0x9019a0]
movq qword [ebp - 0xa70], xmm0
mov word [ebp - 0xa68], ax
nop dword [eax + eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0xa70], cx
inc esi
cmp esi, 5
jl 0x44f340
push 0x208
lea eax, [ebp - 0xa38]
push eax
lea eax, [ebp - 0xa70]
push eax
call edi
lea edx, [ebp - 0xa38]
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x44f387
mov ecx, dword [ebp - 0xb40]
lea eax, [ebp - 0xa38]
sub edx, esi
sar edx, 1
push edx
push eax
lea ecx, [ecx + 0x6e8]
call fcn.0040ea60
mov ecx, dword [ebp - 0xb40]
cmp dword [ecx + 0x6cc], 8
lea eax, [ecx + 0x6b8]
jb 0x44f3ca
mov eax, dword [ecx + 0x6b8]
push eax
call fcn.006e2a53
mov eax, dword fs:[0x30]
add esp, 4
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44f453
mov eax, dword [ebp - 0xb28]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44f427
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x44f417
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0x8ec4c73b
mov eax, dword [ebp - 0xb34]
je 0x44f457
mov eax, dword [eax]
jmp 0x44f3df
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d000]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x44f535
test esi, esi
je 0x44f52e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb34], eax
xor eax, eax
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44f530
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44f52e
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44f4ea
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44f4cd
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x44f4c0
cmp esi, 0xa4ae4da5
je 0x44f507
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44f52e
mov esi, dword [ebp - 0xb2c]
jmp 0x44f4b0
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
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 0x44f530
xor eax, eax
mov dword [0x181d000], eax
mov esi, dword [ebp - 0xb40]
cmp dword [esi + 0x6cc], 8
lea ecx, [esi + 0x6b8]
jb 0x44f550
mov ecx, dword [esi + 0x6b8]
push ecx
call eax
test eax, eax
je 0x44f6d4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44f5dc
mov eax, dword [ebp - 0xb28]
nop
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44f5b0
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x44f5a0
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0xa3e6f6c3
mov eax, dword [ebp - 0xb34]
je 0x44f5e0
mov eax, dword [eax]
jmp 0x44f567
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d074]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x44f6ba
test esi, esi
je 0x44f6b3
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0xb34], eax
xor eax, eax
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44f6b5
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44f6b3
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44f66f
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44f652
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x44f645
cmp esi, 0xb38036c0
je 0x44f68c
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44f6b3
mov esi, dword [ebp - 0xb2c]
jmp 0x44f635
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
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 0x44f6b5
xor eax, eax
mov dword [0x181d074], eax
mov esi, dword [ebp - 0xb40]
cmp dword [esi + 0x6cc], 8
lea ecx, [esi + 0x6b8]
jb 0x44f6d1
mov ecx, dword [ecx]
push ecx
call eax
mov eax, dword [0x90084c]
xor edx, edx
mov dword [ebp - 0xa40], eax
mov ax, word [0x900850]
mov word [ebp - 0xa3c], ax
mov al, byte [0x900852]
mov byte [ebp - 0xa3a], al
mov dword [ebp - 0xb34], edx
nop
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xb34]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x38
xor byte [ebp + edx - 0xa40], cl
inc edx
mov dword [ebp - 0xb34], edx
cmp edx, 7
jl 0x44f700
push 9
lea eax, [ebp - 0xa40]
mov ecx, esi
push eax
call fcn.0046c2f0
test eax, eax
je 0x44f773
mov esi, dword [ebp - 0xb3c]
mov ecx, esi
push 0
mov byte [ebp - 4], 3
call fcn.00424680
mov edx, esi
mov byte [ebp - 4], 2
mov ecx, 0x10
call fcn.004151e0
jmp 0x45072c
cmp dword [esi + 0x738], 0
je 0x44fcbb
lea ecx, [ebp - 0xa58]
call fcn.0041a630
mov byte [ebp - 4], 4
cmp dword [ebp - 0xa48], 0
jbe 0x44f815
cmp word [0x901996], 0
movups xmm0, xmmword [0x901984]
mov eax, dword [0x901994]
mov dword [ebp - 0xa98], eax
movups xmmword [ebp - 0xaa8], xmm0
je 0x44f7ea
xor esi, esi
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0xaa8], cx
inc esi
cmp esi, 0xa
jl 0x44f7c1
lea ecx, [ebp - 0xaa8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44f7f3
sub ecx, edx
lea eax, [ebp - 0xaa8]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xa58]
call fcn.00423180
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb2c], 0
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb28], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44f8a2
mov eax, dword [ebp - 0xb28]
nop dword [eax]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44f880
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0xb2c]
jne 0x44f870
mov eax, dword [ebp - 0xb34]
cmp esi, 0x8ec4c73b
je 0x44f8a9
mov eax, dword [eax]
jmp 0x44f821
mov ecx, dword [0x181d080]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb2c], esi
test ecx, ecx
jne 0x44f97b
test esi, esi
je 0x44f973
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
add ecx, esi
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44f973
xor eax, eax
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44f973
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44f92f
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44f912
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x44f905
cmp esi, 0x7fa814ea
je 0x44f94c
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44f973
mov esi, dword [ebp - 0xb2c]
jmp 0x44f8f5
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
jmp 0x44f975
xor ecx, ecx
mov dword [0x181d080], ecx
cmp dword [ebp - 0xa44], 8
lea eax, [ebp - 0xa58]
cmovae eax, dword [ebp - 0xa58]
push eax
call ecx
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb2c], 0
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb28], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44fa18
mov eax, dword [ebp - 0xb28]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44f9f6
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0xb2c]
jne 0x44f9e6
mov eax, dword [ebp - 0xb34]
cmp esi, 0x8ec4c73b
je 0x44fa1c
mov eax, dword [eax]
jmp 0x44f99e
mov ecx, dword [0x181d080]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb2c], esi
test ecx, ecx
jne 0x44faf6
test esi, esi
je 0x44faee
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
add ecx, esi
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44faee
xor eax, eax
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44faee
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax + eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44faaa
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44fa8d
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x44fa80
cmp esi, 0x7fa814ea
je 0x44fac7
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44faee
mov esi, dword [ebp - 0xb2c]
jmp 0x44fa70
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
jmp 0x44faf0
xor ecx, ecx
mov dword [0x181d080], ecx
cmp dword [ebp - 0xa44], 8
lea eax, [ebp - 0xa58]
cmovae eax, dword [ebp - 0xa58]
push eax
call ecx
test eax, eax
jne 0x44fc8f
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44fb9c
mov eax, dword [ebp - 0xb28]
nop dword [eax]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44fb70
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x44fb60
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0xa3e6f6c3
mov eax, dword [ebp - 0xb34]
je 0x44fba0
mov eax, dword [eax]
jmp 0x44fb21
mov ecx, dword [0x181d084]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb2c], esi
test ecx, ecx
jne 0x44fc76
test esi, esi
je 0x44fc6e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
add ecx, esi
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44fc6e
xor eax, eax
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44fc6e
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44fc2a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44fc0d
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x44fc00
cmp esi, 0x28737e55
je 0x44fc47
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44fc6e
mov esi, dword [ebp - 0xb2c]
jmp 0x44fbf0
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
jmp 0x44fc70
xor ecx, ecx
mov dword [0x181d084], ecx
cmp dword [ebp - 0xa44], 8
lea eax, [ebp - 0xa58]
push 0
cmovae eax, dword [ebp - 0xa58]
push eax
call ecx
mov esi, dword [ebp - 0xb3c]
lea eax, [ebp - 0xa58]
push eax
mov ecx, esi
call fcn.0040ea30
lea ecx, [ebp - 0xa58]
mov byte [ebp - 4], 5
call fcn.00406e40
mov byte [ebp - 4], 2
jmp 0x45072c
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.006ce4d0
mov eax, dword fs:[0x30]
add esp, 0xc
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb2c], 0
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb28], 0
lea edx, [ecx + edi]
inc ecx
shr ecx, 1
cmp edi, edx
cmova ecx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x44fd57
mov eax, dword [ebp - 0xb28]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44fd35
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0xb2c]
jne 0x44fd25
mov eax, dword [ebp - 0xb34]
cmp esi, 0xa3e6f6c3
je 0x44fd5b
mov eax, dword [eax]
jmp 0x44fcdd
mov edi, dword [0x181d0ac]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb2c], esi
test edi, edi
jne 0x44fe2d
test esi, esi
je 0x44fe25
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
add ecx, esi
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x44fe25
xor eax, eax
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x44fe25
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44fde1
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44fdc4
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x44fdb7
cmp esi, 0x62478425
je 0x44fdfe
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x44fe25
mov esi, dword [ebp - 0xb2c]
jmp 0x44fda7
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x44fe27
xor edi, edi
mov dword [0x181d0ac], edi
cmp word [0x901982], 0
movups xmm0, xmmword [0x90196c]
movups xmmword [ebp - 0xa94], xmm0
movq xmm0, qword [0x90197c]
movq qword [ebp - 0xa84], xmm0
je 0x44ff99
xor esi, esi
cmp dword [0x1816094], 2
jl 0x44ff70
movaps xmm2, xmmword [0x9036b0]
mov eax, 4
movaps xmm4, xmmword [0x903750]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov esi, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
movd xmm5, eax
mov eax, 0x1f
psrad xmm1, xmm5
movaps xmm0, xmm1
movd xmm6, eax
mov eax, 0x90196c
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x9036c0]
paddd xmm2, xmmword [0x9036b0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [eax]
pxor xmm1, xmm0
movaps xmm0, xmm2
movq qword [ebp - 0xa94], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x9036e0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
movq xmm0, qword [0x903710]
paddw xmm1, xmm0
movq xmm0, qword [ebp - 0xa8c]
pxor xmm1, xmm0
movq qword [ebp - 0xa8c], xmm1
nop dword [eax + eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0xa94], cx
inc esi
cmp esi, 0xc
jl 0x44ff70
push 0x104
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0xa94]
push eax
call edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x45002e
mov eax, dword [ebp - 0xb28]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x450002
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x44fff2
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0x8ec4c73b
mov eax, dword [ebp - 0xb34]
je 0x450032
mov eax, dword [eax]
jmp 0x44ffba
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d0b4]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x450105
test esi, esi
je 0x4500fe
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
xor eax, eax
add ecx, esi
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x450100
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x4500fe
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4500ba
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45009d
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x450090
cmp esi, 0x1317a7a0
je 0x4500d7
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x4500fe
mov esi, dword [ebp - 0xb2c]
jmp 0x450080
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
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 0x450100
xor eax, eax
mov dword [0x181d0b4], eax
lea ecx, [ebp - 0x218]
push ecx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x45018e
mov eax, dword [ebp - 0xb28]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x450162
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x450152
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0x8ec4c73b
mov eax, dword [ebp - 0xb34]
je 0x450192
mov eax, dword [eax]
jmp 0x45011a
mov edi, dword [0x181d0b8]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb2c], esi
test edi, edi
jne 0x450266
test esi, esi
je 0x45025e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
add ecx, esi
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x45025e
xor eax, eax
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x45025e
mov edi, dword [ecx + 0x20]
add edi, esi
nop
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45021a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x4501fd
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x4501f0
cmp esi, 0x93ffc6af
je 0x450237
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x45025e
mov esi, dword [ebp - 0xb2c]
jmp 0x4501e0
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x450260
xor edi, edi
mov dword [0x181d0b8], edi
cmp word [0x90196a], 0
movups xmm0, xmmword [0x901958]
mov eax, dword [0x901968]
mov dword [ebp - 0xafc], eax
movups xmmword [ebp - 0xb0c], xmm0
je 0x4502b9
xor esi, esi
nop dword [eax + eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0xb0c], cx
inc esi
cmp esi, 0xa
jl 0x450290
lea eax, [ebp - 0xb0c]
push eax
lea eax, [ebp - 0x218]
push eax
call edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x45034c
mov eax, dword [ebp - 0xb28]
nop dword [eax]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x450320
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x450310
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0x8ec4c73b
mov eax, dword [ebp - 0xb34]
je 0x450350
mov eax, dword [eax]
jmp 0x4502d5
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d090]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x450425
test esi, esi
je 0x45041e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
xor eax, eax
add ecx, esi
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x450420
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x45041e
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax + eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4503da
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x4503bd
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x4503b0
cmp esi, 0xa32fa9b3
je 0x4503f7
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x45041e
mov esi, dword [ebp - 0xb2c]
jmp 0x4503a0
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
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 0x450420
xor eax, eax
mov dword [0x181d090], eax
lea ecx, [ebp - 0x218]
push ecx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x4504ae
mov eax, dword [ebp - 0xb28]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x450482
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x450472
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0xa3e6f6c3
mov eax, dword [ebp - 0xb34]
je 0x4504b2
mov eax, dword [eax]
jmp 0x45043a
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d084]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x450585
test esi, esi
je 0x45057e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
xor eax, eax
add ecx, esi
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x450580
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x45057e
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45053a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45051d
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x450510
cmp esi, 0x28737e55
je 0x450557
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x45057e
mov esi, dword [ebp - 0xb2c]
jmp 0x450500
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
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 0x450580
xor eax, eax
mov dword [0x181d084], eax
push 0
lea ecx, [ebp - 0x218]
push ecx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x450610
mov eax, dword [ebp - 0xb28]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x4505e4
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x4505d4
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0x8ec4c73b
mov eax, dword [ebp - 0xb34]
je 0x450614
mov eax, dword [eax]
jmp 0x45059c
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d080]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x4506e5
test esi, esi
je 0x4506de
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
xor eax, eax
add ecx, esi
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x4506e0
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x4506de
mov edi, dword [ecx + 0x20]
add edi, esi
nop
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45069a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45067d
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x450670
cmp esi, 0x7fa814ea
je 0x4506b7
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x4506de
mov esi, dword [ebp - 0xb2c]
jmp 0x450660
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
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 0x4506e0
xor eax, eax
mov dword [0x181d080], eax
lea ecx, [ebp - 0x218]
push ecx
call eax
test eax, eax
jne 0x450726
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x450700
mov esi, dword [ebp - 0xb3c]
lea eax, [ebp - 0x218]
sub ecx, edx
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.0040ea60
jmp 0x45072c
mov esi, dword [ebp - 0xb3c]
mov eax, dword [ebp - 0xb40]
cmp dword [eax + 0x630], 0
je 0x450749
lea eax, [ebp - 0xb24]
mov ecx, esi
push eax
call fcn.0040ea30
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x4507cc
mov eax, dword [ebp - 0xb28]
nop dword [eax]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x4507a0
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x450790
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0x8ec4c73b
mov eax, dword [ebp - 0xb34]
je 0x4507d0
mov eax, dword [eax]
jmp 0x450755
mov esi, dword [eax + 0x18]
mov eax, dword [0x181d000]
mov dword [ebp - 0xb2c], esi
test eax, eax
jne 0x4508a5
test esi, esi
je 0x45089e
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
xor eax, eax
add ecx, esi
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x4508a0
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x45089e
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax + eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45085a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x45083d
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x450830
cmp esi, 0xa4ae4da5
je 0x450877
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x45089e
mov esi, dword [ebp - 0xb2c]
jmp 0x450820
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
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 0x4508a0
xor eax, eax
mov dword [0x181d000], eax
mov ecx, dword [ebp - 0xb3c]
cmp dword [ecx + 0x14], 8
jb 0x4508b3
mov ecx, dword [ecx]
push ecx
call eax
test eax, eax
je 0x4508c4
mov esi, 1
jmp 0x450ac5
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0xb28], edi
xor edi, edi
mov dword [ebp - 0xb34], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0xb2c], ecx
test ecx, ecx
je 0x450944
mov eax, dword [ebp - 0xb28]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x450918
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0xb2c]
jne 0x450908
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 0xc0323159
mov eax, dword [ebp - 0xb34]
je 0x450948
mov eax, dword [eax]
jmp 0x4508d0
mov edi, dword [0x181d03c]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb2c], esi
test edi, edi
jne 0x450a1a
test esi, esi
je 0x450a12
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
add ecx, esi
mov dword [ebp - 0xb34], ecx
cmp ecx, esi
je 0x450a12
xor eax, eax
mov dword [ebp - 0xb28], eax
cmp dword [ecx + 0x18], eax
je 0x450a12
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4509ce
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x4509b1
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x4509a4
cmp esi, 0x3625758e
je 0x4509eb
mov eax, dword [ebp - 0xb28]
mov ecx, dword [ebp - 0xb34]
inc eax
add edi, 4
mov dword [ebp - 0xb28], eax
cmp eax, dword [ecx + 0x18]
je 0x450a12
mov esi, dword [ebp - 0xb2c]
jmp 0x450994
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0xb28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x450a14
xor edi, edi
mov dword [0x181d03c], edi
movq xmm0, qword [0x8fe66c]
xor esi, esi
mov ax, word [0x8fe674]
movq qword [ebp - 0xa7c], xmm0
mov word [ebp - 0xa74], ax
nop dword [eax]
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0xa7c], cx
inc esi
cmp esi, 5
jl 0x450a40
movups xmm0, xmmword [0x901944]
mov ax, word [0x901954]
xor esi, esi
mov word [ebp - 0xae8], ax
movups xmmword [ebp - 0xaf8], xmm0
mov eax, 0x4d4873ed
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x35
sub ecx, eax
add ecx, 0x38
xor word [ebp + esi*2 - 0xaf8], cx
inc esi
cmp esi, 9
jl 0x450a86
push 0x10
lea eax, [ebp - 0xa7c]
push eax
lea eax, [ebp - 0xaf8]
push eax
push 0
call edi
xor esi, esi
lea ecx, [ebp - 0xb24]
mov byte [ebp - 4], 8
call fcn.00406e40
lea ecx, [ebp - 0xae4]
mov dword [ebp - 4], 9
call fcn.00406e40
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c22ca
mov esp, ebp
pop ebp
ret