Function at 0x10003e24
Capabilities:
Access peb ldr_data
Encode data using xor
Get process heap flags

Disassembly:
push 0x84c
mov eax, 0x1002fc60
call fcn.10013071
mov eax, ecx
mov dword [ebp - 0x854], eax
mov dword [ebp - 0x838], eax
mov dword [ebp - 0x838], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword fs:[0x18]
push 0xffffffffffffff9c
pop ecx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
mov esi, dword [eax + 0x10]
mov eax, ebx
mov dword [ebp - 0x82c], esi
mov byte [ebp - 0x850], cl
mov dword [ebp - 0x84c], 0xc
mov dword [ebp - 0x848], 0xd5d2d5cb
mov dword [ebp - 0x844], 0xb2c8d9d2
mov word [ebp - 0x840], 0xf0f8
mov byte [ebp - 0x83e], 0xf0
mov byte [ebp - 0x83d], cl
xor byte [ebp + eax - 0x848], cl
inc eax
cmp eax, dword [ebp - 0x84c]
jae 0x10003ebf
mov cl, byte [ebp - 0x850]
jmp 0x10003ea7
movaps xmm0, xmmword [0x10039520]
mov eax, 0x4ff2a8bd
mov dword [ebp - 0x818], eax
mov ecx, ebx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + ecx*4 - 0x80c], eax
inc ecx
cmp ecx, dword [ebp - 0x814]
jae 0x10003f06
mov eax, dword [ebp - 0x818]
jmp 0x10003eee
mov eax, dword [ebp - 0x810]
mov edx, 0x5fe5517b
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], edx
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x808], ebx
mov edi, dword [eax + esi]
mov dword [ebp - 0x804], 0x5fe55103
mov dword [ebp - 0x800], 0x65363465
xor dword [ebp + ecx*4 - 0x804], edx
inc ecx
cmp ecx, dword [ebp - 0x80c]
jae 0x10003f5f
mov edx, dword [ebp - 0x810]
jmp 0x10003f47
mov eax, dword [ebp - 0x808]
mov edx, 0x6fd7fa39
movaps xmm0, xmmword [0x10039530]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x804]
add eax, edi
mov dword [ebp - 0x818], edx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
movups xmmword [ebp - 0x80c], xmm0
mov edi, dword [eax + esi]
add edi, esi
mov dword [ebp - 0x820], edi
xor dword [ebp + ecx*4 - 0x80c], edx
inc ecx
cmp ecx, dword [ebp - 0x814]
jae 0x10003fc0
mov edx, dword [ebp - 0x818]
jmp 0x10003fa8
mov eax, dword [ebp - 0x810]
mov edx, 0x7fcaa2f7
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], edx
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x808], ebx
mov eax, dword [eax + edi]
add eax, esi
mov dword [ebp - 0x804], 0x7fcaa2eb
mov dword [ebp - 0x824], eax
mov dword [ebp - 0x800], 0x451b85e0
xor dword [ebp + ecx*4 - 0x804], edx
inc ecx
cmp ecx, dword [ebp - 0x80c]
jae 0x10004021
mov edx, dword [ebp - 0x810]
jmp 0x10004009
mov eax, dword [ebp - 0x808]
mov edx, 0x4fbd4bb4
movaps xmm0, xmmword [0x10039510]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x804]
mov dword [ebp - 0x818], edx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
mov edi, dword [eax + edi]
add edi, esi
mov dword [ebp - 0x834], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + ecx*4 - 0x80c], edx
inc ecx
cmp ecx, dword [ebp - 0x814]
jae 0x10004080
mov edx, dword [ebp - 0x818]
jmp 0x10004068
mov eax, dword [ebp - 0x810]
mov ecx, dword [ebp - 0x820]
mov eax, dword [ebp + eax*4 - 0x80c]
mov eax, dword [eax + ecx]
add eax, esi
cmp dword [ebp - 0x824], 0
mov dword [ebp - 0x830], eax
je 0x100041af
test edi, edi
je 0x100041af
test eax, eax
je 0x100041af
mov edi, ebx
mov edx, 0x5faff472
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x810], edx
mov ecx, ebx
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], 0x5faff46a
mov dword [ebp - 0x800], 0x6500d75c
xor dword [ebp + ecx*4 - 0x804], edx
inc ecx
cmp ecx, dword [ebp - 0x80c]
jae 0x10004106
mov edx, dword [ebp - 0x810]
jmp 0x100040ee
mov eax, dword [ebp - 0x808]
mov ecx, dword [ebp - 0x820]
mov eax, dword [ebp + eax*4 - 0x804]
cmp edi, dword [eax + ecx]
jae 0x100041af
mov eax, dword [ebp - 0x824]
mov edx, dword [eax + edi*4]
add edx, esi
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x81c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004138
sub ecx, dword [ebp - 0x81c]
push 0x1d
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x828], eax
cmp dword [ebp - 0x828], 0
pop eax
mov dword [ebp - 0x83c], eax
jbe 0x10004192
mov ebx, dword [ebp - 0x828]
mov esi, eax
movsx eax, byte [ecx + edx]
xor eax, esi
imul esi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x1000416a
mov dword [ebp - 0x83c], esi
xor ebx, ebx
cmp dword [ebp - 0x83c], 0xeb4619fd
mov esi, dword [ebp - 0x82c]
je 0x10004198
inc edi
jmp 0x100040bd
mov eax, dword [ebp - 0x830]
mov ecx, dword [ebp - 0x834]
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x100041b1
mov eax, ebx
lea ecx, [ebp - 0x848]
push ecx
call eax
push 0xffffffffffffffbf
mov esi, eax
mov dword [ebp - 0x84c], 0xc
pop ecx
mov dword [ebp - 0x824], esi
mov eax, ebx
mov byte [ebp - 0x850], cl
mov dword [ebp - 0x848], 0xd6c5d0f2
mov dword [ebp - 0x844], 0x90ded3d3
mov word [ebp - 0x840], 0x918a
mov byte [ebp - 0x83e], 0x8f
mov byte [ebp - 0x83d], cl
xor byte [ebp + eax - 0x848], cl
inc eax
cmp eax, dword [ebp - 0x84c]
jae 0x10004219
mov cl, byte [ebp - 0x850]
jmp 0x10004201
movaps xmm0, xmmword [0x10039520]
mov edx, 0x4ff2a8bd
mov dword [ebp - 0x818], edx
mov ecx, ebx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + ecx*4 - 0x80c], edx
inc ecx
cmp ecx, dword [ebp - 0x814]
jae 0x10004260
mov edx, dword [ebp - 0x818]
jmp 0x10004248
mov eax, dword [ebp - 0x810]
mov edx, 0x5fe5517b
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], edx
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x808], ebx
mov edi, dword [eax + esi]
mov dword [ebp - 0x804], 0x5fe55103
mov dword [ebp - 0x800], 0x65363465
xor dword [ebp + ecx*4 - 0x804], edx
inc ecx
cmp ecx, dword [ebp - 0x80c]
jae 0x100042b9
mov edx, dword [ebp - 0x810]
jmp 0x100042a1
mov eax, dword [ebp - 0x808]
mov edx, 0x6fd7fa39
movaps xmm0, xmmword [0x10039530]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x804]
add eax, edi
mov dword [ebp - 0x818], edx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
movups xmmword [ebp - 0x80c], xmm0
mov edi, dword [eax + esi]
add edi, esi
mov dword [ebp - 0x828], edi
xor dword [ebp + ecx*4 - 0x80c], edx
inc ecx
cmp ecx, dword [ebp - 0x814]
jae 0x1000431a
mov edx, dword [ebp - 0x818]
jmp 0x10004302
mov eax, dword [ebp - 0x810]
mov edx, 0x7fcaa2f7
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], edx
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x808], ebx
mov eax, dword [eax + edi]
add eax, esi
mov dword [ebp - 0x804], 0x7fcaa2eb
mov dword [ebp - 0x820], eax
mov dword [ebp - 0x800], 0x451b85e0
xor dword [ebp + ecx*4 - 0x804], edx
inc ecx
cmp ecx, dword [ebp - 0x80c]
jae 0x1000437b
mov edx, dword [ebp - 0x810]
jmp 0x10004363
mov eax, dword [ebp - 0x808]
mov edx, 0x4fbd4bb4
movaps xmm0, xmmword [0x10039510]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x804]
mov dword [ebp - 0x818], edx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
mov edi, dword [eax + edi]
add edi, esi
mov dword [ebp - 0x82c], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + ecx*4 - 0x80c], edx
inc ecx
cmp ecx, dword [ebp - 0x814]
jae 0x100043da
mov edx, dword [ebp - 0x818]
jmp 0x100043c2
mov eax, dword [ebp - 0x810]
mov ecx, dword [ebp - 0x828]
mov eax, dword [ebp + eax*4 - 0x80c]
mov eax, dword [eax + ecx]
add eax, esi
cmp dword [ebp - 0x820], 0
mov dword [ebp - 0x830], eax
je 0x1000451b
test edi, edi
je 0x1000451b
test eax, eax
je 0x1000451b
mov edi, dword [ebp - 0x824]
mov esi, ebx
mov edx, 0x5faff472
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x810], edx
mov ecx, ebx
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], 0x5faff46a
mov dword [ebp - 0x800], 0x6500d75c
xor dword [ebp + ecx*4 - 0x804], edx
inc ecx
cmp ecx, dword [ebp - 0x80c]
jae 0x10004466
mov edx, dword [ebp - 0x810]
jmp 0x1000444e
mov eax, dword [ebp - 0x808]
mov ecx, dword [ebp - 0x828]
mov eax, dword [ebp + eax*4 - 0x804]
cmp esi, dword [eax + ecx]
jae 0x10004515
mov eax, dword [ebp - 0x820]
mov edx, dword [eax + esi*4]
add edx, edi
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x834], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004498
sub ecx, dword [ebp - 0x834]
push 0x1d
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x81c], eax
cmp dword [ebp - 0x81c], 0
pop eax
mov dword [ebp - 0x83c], eax
jbe 0x100044f2
mov ebx, dword [ebp - 0x81c]
mov edi, eax
movsx eax, byte [ecx + edx]
xor eax, edi
imul edi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x100044ca
mov dword [ebp - 0x83c], edi
xor ebx, ebx
cmp dword [ebp - 0x83c], 0xdc57540f
mov edi, dword [ebp - 0x824]
je 0x100044f8
inc esi
jmp 0x1000441d
mov eax, dword [ebp - 0x830]
mov ecx, dword [ebp - 0x82c]
movzx eax, word [eax + esi*2]
mov esi, dword [ebp - 0x824]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x1000451d
mov esi, dword [ebp - 0x824]
mov eax, ebx
push ebx
push ebx
push ebx
push 1
lea ecx, [ebp - 0x848]
push ecx
call eax
mov dword [ebp - 0x83c], eax
test eax, eax
jne 0x10004558
push 0x10038f0c
mov ecx, dword [ebp - 0x854]
call fcn.1000ae55
lea ecx, [ebp + 8]
call fcn.1000b9ab
mov eax, dword [ebp - 0x854]
jmp 0x10005a65
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
movaps xmm0, xmmword [0x10039520]
mov ecx, ebx
cmovae eax, dword [ebp + 8]
push 2
mov dword [ebp - 0x838], eax
mov eax, 0x4ff2a8bd
pop edi
mov dword [ebp - 0x818], eax
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + ecx*4 - 0x80c], eax
inc ecx
cmp ecx, dword [ebp - 0x814]
jae 0x100045af
mov eax, dword [ebp - 0x818]
jmp 0x10004597
mov eax, dword [ebp - 0x810]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x80c], edi
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], 0x5fe55103
mov edx, dword [eax + esi]
mov eax, 0x5fe5517b
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x800], 0x65363465
xor dword [ebp + ecx*4 - 0x804], eax
inc ecx
cmp ecx, dword [ebp - 0x80c]
jae 0x10004604
mov eax, dword [ebp - 0x810]
jmp 0x100045ec
mov eax, dword [ebp - 0x808]
mov ecx, 0x6fd7fa39
movaps xmm0, xmmword [0x10039530]
mov eax, dword [ebp + eax*4 - 0x804]
add eax, edx
mov dword [ebp - 0x818], ecx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], edi
movups xmmword [ebp - 0x80c], xmm0
mov edx, dword [eax + esi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x81c], edx
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10004661
mov ecx, dword [ebp - 0x818]
jmp 0x10004649
mov eax, dword [ebp - 0x810]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], 0x7fcaa2eb
mov edi, dword [eax + edx]
mov eax, 0x7fcaa2f7
add edi, esi
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x82c], edi
mov dword [ebp - 0x800], 0x451b85e0
xor dword [ebp + ecx*4 - 0x804], eax
inc ecx
cmp ecx, dword [ebp - 0x80c]
jae 0x100046c2
mov eax, dword [ebp - 0x810]
jmp 0x100046aa
mov eax, dword [ebp - 0x808]
mov ecx, ebx
movaps xmm0, xmmword [0x10039510]
mov eax, dword [ebp + eax*4 - 0x804]
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
movups xmmword [ebp - 0x80c], xmm0
mov edx, dword [eax + edx]
mov eax, 0x4fbd4bb4
add edx, esi
mov dword [ebp - 0x818], eax
mov dword [ebp - 0x820], edx
xor dword [ebp + ecx*4 - 0x80c], eax
inc ecx
cmp ecx, dword [ebp - 0x814]
jae 0x10004721
mov eax, dword [ebp - 0x818]
jmp 0x10004709
mov eax, dword [ebp - 0x810]
mov ecx, dword [ebp - 0x81c]
mov eax, dword [ebp + eax*4 - 0x80c]
mov eax, dword [eax + ecx]
add eax, esi
mov dword [ebp - 0x828], eax
test edi, edi
je 0x1000482e
test edx, edx
je 0x1000482e
test eax, eax
je 0x1000482e
mov edx, ebx
mov eax, 0x5faff472
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x810], eax
mov ecx, ebx
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], 0x5faff46a
mov dword [ebp - 0x800], 0x6500d75c
xor dword [ebp + ecx*4 - 0x804], eax
inc ecx
cmp ecx, dword [ebp - 0x80c]
jae 0x100047a2
mov eax, dword [ebp - 0x810]
jmp 0x1000478a
mov eax, dword [ebp - 0x808]
mov ecx, dword [ebp - 0x81c]
mov eax, dword [ebp + eax*4 - 0x804]
cmp edx, dword [eax + ecx]
jae 0x1000482e
mov eax, dword [edi + edx*4]
add eax, esi
mov ecx, eax
mov dword [ebp - 0x834], eax
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100047ca
sub ecx, edi
push 0x1d
pop edi
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x830], eax
test eax, eax
je 0x1000480b
mov esi, dword [ebp - 0x834]
mov ebx, eax
movsx eax, byte [ecx + esi]
xor eax, edi
imul edi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x100047ed
mov esi, dword [ebp - 0x824]
xor ebx, ebx
cmp edi, 0x96a4fae0
je 0x10004817
mov edi, dword [ebp - 0x82c]
inc edx
jmp 0x10004759
mov eax, dword [ebp - 0x828]
mov ecx, dword [ebp - 0x820]
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x10004830
mov eax, ebx
push ebx
push connect
push ebx
push ebx
push dword [ebp - 0x838]
push dword [ebp - 0x83c]
call eax
mov dword [ebp - 0x820], eax
test eax, eax
jne 0x10004b4a
movaps xmm0, xmmword [0x10039520]
mov ecx, 0x4ff2a8bd
push 2
pop edi
mov dword [ebp - 0x818], ecx
mov eax, ebx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x1000489a
mov ecx, dword [ebp - 0x818]
jmp 0x10004882
mov eax, dword [ebp - 0x810]
mov edx, 0x5fe5517b
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], edx
mov dword [ebp - 0x80c], edi
mov dword [ebp - 0x808], ebx
mov ecx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x804], 0x5fe55103
mov dword [ebp - 0x800], 0x65363465
xor dword [ebp + eax*4 - 0x804], edx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x100048ef
mov edx, dword [ebp - 0x810]
jmp 0x100048d7
mov eax, dword [ebp - 0x808]
movaps xmm0, xmmword [0x10039530]
mov eax, dword [ebp + eax*4 - 0x804]
add eax, ecx
mov dword [ebp - 0x814], 4
mov ecx, 0x6fd7fa39
mov dword [ebp - 0x810], 2
mov dword [ebp - 0x818], ecx
movups xmmword [ebp - 0x80c], xmm0
mov edi, dword [eax + esi]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x82c], edi
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10004950
mov ecx, dword [ebp - 0x818]
jmp 0x10004938
mov eax, dword [ebp - 0x810]
mov ecx, 0x7fcaa2f7
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x808], ebx
mov edx, dword [eax + edi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x804], 0x7fcaa2eb
mov dword [ebp - 0x838], edx
mov dword [ebp - 0x800], 0x451b85e0
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x100049b1
mov ecx, dword [ebp - 0x810]
jmp 0x10004999
mov eax, dword [ebp - 0x808]
movaps xmm0, xmmword [0x10039510]
mov eax, dword [ebp + eax*4 - 0x804]
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
movups xmmword [ebp - 0x80c], xmm0
mov ecx, dword [eax + edi]
mov eax, ebx
add ecx, esi
mov esi, 0x4fbd4bb4
mov dword [ebp - 0x828], ecx
mov dword [ebp - 0x818], esi
xor dword [ebp + eax*4 - 0x80c], esi
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10004a10
mov esi, dword [ebp - 0x818]
jmp 0x100049f8
mov eax, dword [ebp - 0x810]
mov eax, dword [ebp + eax*4 - 0x80c]
mov esi, dword [eax + edi]
add esi, dword [ebp - 0x824]
mov dword [ebp - 0x830], esi
test edx, edx
je 0x10004b38
test ecx, ecx
je 0x10004b38
test esi, esi
je 0x10004b38
mov edx, ebx
mov ecx, 0x5faff472
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x810], ecx
mov eax, ebx
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], 0x5faff46a
mov dword [ebp - 0x800], 0x6500d75c
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x10004a8f
mov ecx, dword [ebp - 0x810]
jmp 0x10004a77
mov eax, dword [ebp - 0x808]
mov eax, dword [ebp + eax*4 - 0x804]
cmp edx, dword [edi + eax]
jae 0x10004b38
mov eax, dword [ebp - 0x838]
mov edi, dword [eax + edx*4]
add edi, dword [ebp - 0x824]
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x834], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004abf
sub ecx, dword [ebp - 0x834]
push 0x1d
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x81c], eax
cmp dword [ebp - 0x81c], 0
pop eax
mov dword [ebp - 0x820], eax
jbe 0x10004b19
mov ebx, dword [ebp - 0x81c]
mov esi, eax
movsx eax, byte [ecx + edi]
xor eax, esi
imul esi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x10004af1
mov dword [ebp - 0x820], esi
xor ebx, ebx
cmp dword [ebp - 0x820], 0x2b132ea
mov esi, dword [ebp - 0x830]
je 0x10004b25
mov edi, dword [ebp - 0x82c]
inc edx
jmp 0x10004a46
movzx eax, word [esi + edx*2]
mov ebx, dword [ebp - 0x828]
mov ebx, dword [ebx + eax*4]
add ebx, dword [ebp - 0x824]
push dword [ebp - 0x83c]
call ebx
push 0x10038f0d
jmp 0x1000453a
xor eax, eax
lea edi, [ebp - 0x7fc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x7ec], ebx
mov dword [ebp - 0x7e8], 0xf
mov byte [ebp - 0x7fc], bl
mov byte [ebp - 4], 1
movaps xmm0, xmmword [0x10039520]
mov ecx, 0x4ff2a8bd
push 2
pop edi
mov dword [ebp - 0x818], ecx
mov eax, ebx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10004bb6
mov ecx, dword [ebp - 0x818]
jmp 0x10004b9e
mov eax, dword [ebp - 0x810]
mov ecx, 0x5fe5517b
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x80c], edi
mov dword [ebp - 0x808], ebx
mov edx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x804], 0x5fe55103
mov dword [ebp - 0x800], 0x65363465
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x10004c0b
mov ecx, dword [ebp - 0x810]
jmp 0x10004bf3
mov eax, dword [ebp - 0x808]
mov ecx, 0x6fd7fa39
movaps xmm0, xmmword [0x10039530]
push 2
mov eax, dword [ebp + eax*4 - 0x804]
add eax, edx
mov dword [ebp - 0x818], ecx
pop edx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], edx
mov edi, dword [eax + esi]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x830], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10004c6b
mov ecx, dword [ebp - 0x818]
jmp 0x10004c53
mov eax, dword [ebp - 0x810]
mov ecx, 0x7fcaa2f7
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x80c], edx
mov dword [ebp - 0x808], ebx
mov eax, dword [eax + edi]
add eax, esi
mov dword [ebp - 0x804], 0x7fcaa2eb
mov dword [ebp - 0x81c], eax
mov eax, ebx
mov dword [ebp - 0x800], 0x451b85e0
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x10004cc8
mov ecx, dword [ebp - 0x810]
jmp 0x10004cb0
mov eax, dword [ebp - 0x808]
mov ecx, 0x4fbd4bb4
movaps xmm0, xmmword [0x10039510]
mov eax, dword [ebp + eax*4 - 0x804]
mov dword [ebp - 0x818], ecx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
mov edx, dword [eax + edi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x828], edx
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10004d27
mov ecx, dword [ebp - 0x818]
jmp 0x10004d0f
mov eax, dword [ebp - 0x810]
mov eax, dword [ebp + eax*4 - 0x80c]
mov eax, dword [eax + edi]
add eax, esi
cmp dword [ebp - 0x81c], 0
mov dword [ebp - 0x82c], eax
je 0x10004e33
test edx, edx
je 0x10004e33
test eax, eax
je 0x10004e33
mov edx, ebx
mov ecx, 0x5faff472
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x810], ecx
mov eax, ebx
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], 0x5faff46a
mov dword [ebp - 0x800], 0x6500d75c
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x10004da7
mov ecx, dword [ebp - 0x810]
jmp 0x10004d8f
mov eax, dword [ebp - 0x808]
mov eax, dword [ebp + eax*4 - 0x804]
cmp edx, dword [edi + eax]
jae 0x10004e33
mov eax, dword [ebp - 0x81c]
mov eax, dword [eax + edx*4]
add eax, esi
mov ecx, eax
mov dword [ebp - 0x838], eax
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004dcf
sub ecx, edi
push 0x1d
pop edi
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x834], eax
test eax, eax
je 0x10004e10
mov esi, dword [ebp - 0x838]
mov ebx, eax
movsx eax, byte [ecx + esi]
xor eax, edi
imul edi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x10004df2
mov esi, dword [ebp - 0x824]
xor ebx, ebx
cmp edi, 0x9394cea2
je 0x10004e1c
mov edi, dword [ebp - 0x830]
inc edx
jmp 0x10004d5e
mov eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x828]
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x10004e35
mov eax, ebx
lea ecx, [ebp - 0x7e4]
push ecx
push 0x7d0
lea ecx, [ebp - 0x7e0]
push ecx
push dword [ebp - 0x820]
call eax
test al, al
je 0x1000545c
cmp dword [ebp - 0x7e4], 0
jbe 0x10004e86
push dword [ebp - 0x7e4]
lea eax, [ebp - 0x7e0]
push eax
lea ecx, [ebp - 0x7fc]
call fcn.1000ad71
cmp dword [ebp - 0x7e4], 0
ja 0x10004b70
movaps xmm0, xmmword [0x10039520]
mov ecx, 0x4ff2a8bd
push 2
pop edi
mov dword [ebp - 0x818], ecx
mov eax, ebx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10004ecc
mov ecx, dword [ebp - 0x818]
jmp 0x10004eb4
mov eax, dword [ebp - 0x810]
mov ecx, 0x5fe5517b
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x80c], edi
mov dword [ebp - 0x808], ebx
mov edx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x804], 0x5fe55103
mov dword [ebp - 0x800], 0x65363465
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x10004f21
mov ecx, dword [ebp - 0x810]
jmp 0x10004f09
mov eax, dword [ebp - 0x808]
mov ecx, 0x6fd7fa39
movaps xmm0, xmmword [0x10039530]
push 2
mov eax, dword [ebp + eax*4 - 0x804]
add eax, edx
mov dword [ebp - 0x818], ecx
pop edx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], edx
mov edi, dword [eax + esi]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x830], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10004f81
mov ecx, dword [ebp - 0x818]
jmp 0x10004f69
mov eax, dword [ebp - 0x810]
mov ecx, 0x7fcaa2f7
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x80c], edx
mov dword [ebp - 0x808], ebx
mov eax, dword [eax + edi]
add eax, esi
mov dword [ebp - 0x804], 0x7fcaa2eb
mov dword [ebp - 0x81c], eax
mov eax, ebx
mov dword [ebp - 0x800], 0x451b85e0
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x10004fde
mov ecx, dword [ebp - 0x810]
jmp 0x10004fc6
mov eax, dword [ebp - 0x808]
mov ecx, 0x4fbd4bb4
movaps xmm0, xmmword [0x10039510]
mov eax, dword [ebp + eax*4 - 0x804]
mov dword [ebp - 0x818], ecx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
mov edx, dword [eax + edi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x828], edx
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x1000503d
mov ecx, dword [ebp - 0x818]
jmp 0x10005025
mov eax, dword [ebp - 0x810]
mov eax, dword [ebp + eax*4 - 0x80c]
mov eax, dword [eax + edi]
add eax, esi
cmp dword [ebp - 0x81c], 0
mov dword [ebp - 0x82c], eax
je 0x10005149
test edx, edx
je 0x10005149
test eax, eax
je 0x10005149
mov edx, ebx
mov ecx, 0x5faff472
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x810], ecx
mov eax, ebx
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], 0x5faff46a
mov dword [ebp - 0x800], 0x6500d75c
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x100050bd
mov ecx, dword [ebp - 0x810]
jmp 0x100050a5
mov eax, dword [ebp - 0x808]
mov eax, dword [ebp + eax*4 - 0x804]
cmp edx, dword [edi + eax]
jae 0x10005149
mov eax, dword [ebp - 0x81c]
mov eax, dword [eax + edx*4]
add eax, esi
mov ecx, eax
mov dword [ebp - 0x838], eax
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100050e5
sub ecx, edi
push 0x1d
pop edi
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x834], eax
test eax, eax
je 0x10005126
mov esi, dword [ebp - 0x838]
mov ebx, eax
movsx eax, byte [ecx + esi]
xor eax, edi
imul edi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x10005108
mov esi, dword [ebp - 0x824]
xor ebx, ebx
cmp edi, 0x2b132ea
je 0x10005132
mov edi, dword [ebp - 0x830]
inc edx
jmp 0x10005074
mov eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x828]
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x1000514b
mov eax, ebx
push dword [ebp - 0x820]
call eax
movaps xmm0, xmmword [0x10039520]
mov ecx, 0x4ff2a8bd
push 2
pop edi
mov dword [ebp - 0x818], ecx
mov eax, ebx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10005199
mov ecx, dword [ebp - 0x818]
jmp 0x10005181
mov eax, dword [ebp - 0x810]
mov edx, 0x5fe5517b
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], edx
mov dword [ebp - 0x80c], edi
mov dword [ebp - 0x808], ebx
mov ecx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x804], 0x5fe55103
mov dword [ebp - 0x800], 0x65363465
xor dword [ebp + eax*4 - 0x804], edx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x100051ee
mov edx, dword [ebp - 0x810]
jmp 0x100051d6
mov eax, dword [ebp - 0x808]
movaps xmm0, xmmword [0x10039530]
mov eax, dword [ebp + eax*4 - 0x804]
add eax, ecx
mov dword [ebp - 0x814], 4
mov ecx, 0x6fd7fa39
mov dword [ebp - 0x810], 2
mov dword [ebp - 0x818], ecx
movups xmmword [ebp - 0x80c], xmm0
mov edi, dword [eax + esi]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x82c], edi
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x1000524f
mov ecx, dword [ebp - 0x818]
jmp 0x10005237
mov eax, dword [ebp - 0x810]
mov ecx, 0x7fcaa2f7
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x808], ebx
mov edx, dword [eax + edi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x804], 0x7fcaa2eb
mov dword [ebp - 0x838], edx
mov dword [ebp - 0x800], 0x451b85e0
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x100052b0
mov ecx, dword [ebp - 0x810]
jmp 0x10005298
mov eax, dword [ebp - 0x808]
movaps xmm0, xmmword [0x10039510]
mov eax, dword [ebp + eax*4 - 0x804]
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
movups xmmword [ebp - 0x80c], xmm0
mov ecx, dword [eax + edi]
mov eax, ebx
add ecx, esi
mov esi, 0x4fbd4bb4
mov dword [ebp - 0x828], ecx
mov dword [ebp - 0x818], esi
xor dword [ebp + eax*4 - 0x80c], esi
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x1000530f
mov esi, dword [ebp - 0x818]
jmp 0x100052f7
mov eax, dword [ebp - 0x810]
mov eax, dword [ebp + eax*4 - 0x80c]
mov esi, dword [eax + edi]
add esi, dword [ebp - 0x824]
mov dword [ebp - 0x830], esi
test edx, edx
je 0x10005439
test ecx, ecx
je 0x10005439
test esi, esi
je 0x10005439
mov edx, ebx
mov ecx, 0x5faff472
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x810], ecx
mov eax, ebx
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], 0x5faff46a
mov dword [ebp - 0x800], 0x6500d75c
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x1000538e
mov ecx, dword [ebp - 0x810]
jmp 0x10005376
mov eax, dword [ebp - 0x808]
mov eax, dword [ebp + eax*4 - 0x804]
cmp edx, dword [edi + eax]
jae 0x10005439
mov eax, dword [ebp - 0x838]
mov edi, dword [eax + edx*4]
add edi, dword [ebp - 0x824]
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x834], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100053be
sub ecx, dword [ebp - 0x834]
push 0x1d
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x81c], eax
cmp dword [ebp - 0x81c], 0
pop eax
mov dword [ebp - 0x820], eax
jbe 0x10005418
mov ebx, dword [ebp - 0x81c]
mov esi, eax
movsx eax, byte [ecx + edi]
xor eax, esi
imul esi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x100053f0
mov dword [ebp - 0x820], esi
xor ebx, ebx
cmp dword [ebp - 0x820], 0x2b132ea
mov esi, dword [ebp - 0x830]
je 0x10005424
mov edi, dword [ebp - 0x82c]
inc edx
jmp 0x10005345
movzx eax, word [esi + edx*2]
mov ecx, dword [ebp - 0x828]
mov eax, dword [ecx + eax*4]
add eax, dword [ebp - 0x824]
jmp 0x1000543b
mov eax, ebx
push dword [ebp - 0x83c]
call eax
mov esi, dword [ebp - 0x854]
lea eax, [ebp - 0x7fc]
push eax
mov ecx, esi
call fcn.1000ae1c
jmp 0x10005a2b
movaps xmm0, xmmword [0x10039520]
mov ecx, 0x4ff2a8bd
push 2
pop edi
mov dword [ebp - 0x818], ecx
mov eax, ebx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x100054a2
mov ecx, dword [ebp - 0x818]
jmp 0x1000548a
mov eax, dword [ebp - 0x810]
mov ecx, 0x5fe5517b
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x80c], edi
mov dword [ebp - 0x808], ebx
mov edx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x804], 0x5fe55103
mov dword [ebp - 0x800], 0x65363465
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x100054f7
mov ecx, dword [ebp - 0x810]
jmp 0x100054df
mov eax, dword [ebp - 0x808]
mov ecx, 0x6fd7fa39
movaps xmm0, xmmword [0x10039530]
push 2
mov eax, dword [ebp + eax*4 - 0x804]
add eax, edx
mov dword [ebp - 0x818], ecx
pop edx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], edx
mov edi, dword [eax + esi]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x830], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10005557
mov ecx, dword [ebp - 0x818]
jmp 0x1000553f
mov eax, dword [ebp - 0x810]
mov ecx, 0x7fcaa2f7
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x80c], edx
mov dword [ebp - 0x808], ebx
mov eax, dword [eax + edi]
add eax, esi
mov dword [ebp - 0x804], 0x7fcaa2eb
mov dword [ebp - 0x81c], eax
mov eax, ebx
mov dword [ebp - 0x800], 0x451b85e0
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x100055b4
mov ecx, dword [ebp - 0x810]
jmp 0x1000559c
mov eax, dword [ebp - 0x808]
mov ecx, 0x4fbd4bb4
movaps xmm0, xmmword [0x10039510]
mov eax, dword [ebp + eax*4 - 0x804]
mov dword [ebp - 0x818], ecx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
mov edx, dword [eax + edi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x828], edx
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10005613
mov ecx, dword [ebp - 0x818]
jmp 0x100055fb
mov eax, dword [ebp - 0x810]
mov eax, dword [ebp + eax*4 - 0x80c]
mov eax, dword [eax + edi]
add eax, esi
cmp dword [ebp - 0x81c], 0
mov dword [ebp - 0x82c], eax
je 0x1000571f
test edx, edx
je 0x1000571f
test eax, eax
je 0x1000571f
mov edx, ebx
mov ecx, 0x5faff472
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x810], ecx
mov eax, ebx
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], 0x5faff46a
mov dword [ebp - 0x800], 0x6500d75c
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x10005693
mov ecx, dword [ebp - 0x810]
jmp 0x1000567b
mov eax, dword [ebp - 0x808]
mov eax, dword [ebp + eax*4 - 0x804]
cmp edx, dword [edi + eax]
jae 0x1000571f
mov eax, dword [ebp - 0x81c]
mov eax, dword [eax + edx*4]
add eax, esi
mov ecx, eax
mov dword [ebp - 0x838], eax
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100056bb
sub ecx, edi
push 0x1d
pop edi
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x834], eax
test eax, eax
je 0x100056fc
mov esi, dword [ebp - 0x838]
mov ebx, eax
movsx eax, byte [ecx + esi]
xor eax, edi
imul edi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x100056de
mov esi, dword [ebp - 0x824]
xor ebx, ebx
cmp edi, 0x2b132ea
je 0x10005708
mov edi, dword [ebp - 0x830]
inc edx
jmp 0x1000564a
mov eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x828]
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x10005721
mov eax, ebx
push dword [ebp - 0x820]
call eax
movaps xmm0, xmmword [0x10039520]
mov ecx, 0x4ff2a8bd
push 2
pop edi
mov dword [ebp - 0x818], ecx
mov eax, ebx
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], edi
movups xmmword [ebp - 0x80c], xmm0
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x1000576f
mov ecx, dword [ebp - 0x818]
jmp 0x10005757
mov eax, dword [ebp - 0x810]
mov edx, 0x5fe5517b
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], edx
mov dword [ebp - 0x80c], edi
mov dword [ebp - 0x808], ebx
mov ecx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x804], 0x5fe55103
mov dword [ebp - 0x800], 0x65363465
xor dword [ebp + eax*4 - 0x804], edx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x100057c4
mov edx, dword [ebp - 0x810]
jmp 0x100057ac
mov eax, dword [ebp - 0x808]
movaps xmm0, xmmword [0x10039530]
mov eax, dword [ebp + eax*4 - 0x804]
add eax, ecx
mov dword [ebp - 0x814], 4
mov ecx, 0x6fd7fa39
mov dword [ebp - 0x810], 2
mov dword [ebp - 0x818], ecx
movups xmmword [ebp - 0x80c], xmm0
mov edi, dword [eax + esi]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x82c], edi
xor dword [ebp + eax*4 - 0x80c], ecx
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x10005825
mov ecx, dword [ebp - 0x818]
jmp 0x1000580d
mov eax, dword [ebp - 0x810]
mov ecx, 0x7fcaa2f7
mov eax, dword [ebp + eax*4 - 0x80c]
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x808], ebx
mov edx, dword [eax + edi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x804], 0x7fcaa2eb
mov dword [ebp - 0x838], edx
mov dword [ebp - 0x800], 0x451b85e0
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x10005886
mov ecx, dword [ebp - 0x810]
jmp 0x1000586e
mov eax, dword [ebp - 0x808]
movaps xmm0, xmmword [0x10039510]
mov eax, dword [ebp + eax*4 - 0x804]
mov dword [ebp - 0x814], 4
mov dword [ebp - 0x810], 2
movups xmmword [ebp - 0x80c], xmm0
mov ecx, dword [eax + edi]
mov eax, ebx
add ecx, esi
mov esi, 0x4fbd4bb4
mov dword [ebp - 0x828], ecx
mov dword [ebp - 0x818], esi
xor dword [ebp + eax*4 - 0x80c], esi
inc eax
cmp eax, dword [ebp - 0x814]
jae 0x100058e5
mov esi, dword [ebp - 0x818]
jmp 0x100058cd
mov eax, dword [ebp - 0x810]
mov eax, dword [ebp + eax*4 - 0x80c]
mov esi, dword [eax + edi]
add esi, dword [ebp - 0x824]
mov dword [ebp - 0x830], esi
test edx, edx
je 0x10005a0f
test ecx, ecx
je 0x10005a0f
test esi, esi
je 0x10005a0f
mov edx, ebx
mov ecx, 0x5faff472
mov dword [ebp - 0x80c], 2
mov dword [ebp - 0x810], ecx
mov eax, ebx
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x804], 0x5faff46a
mov dword [ebp - 0x800], 0x6500d75c
xor dword [ebp + eax*4 - 0x804], ecx
inc eax
cmp eax, dword [ebp - 0x80c]
jae 0x10005964
mov ecx, dword [ebp - 0x810]
jmp 0x1000594c
mov eax, dword [ebp - 0x808]
mov eax, dword [ebp + eax*4 - 0x804]
cmp edx, dword [edi + eax]
jae 0x10005a0f
mov eax, dword [ebp - 0x838]
mov edi, dword [eax + edx*4]
add edi, dword [ebp - 0x824]
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x834], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10005994
sub ecx, dword [ebp - 0x834]
push 0x1d
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x81c], eax
cmp dword [ebp - 0x81c], 0
pop eax
mov dword [ebp - 0x820], eax
jbe 0x100059ee
mov ebx, dword [ebp - 0x81c]
mov esi, eax
movsx eax, byte [ecx + edi]
xor eax, esi
imul esi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x100059c6
mov dword [ebp - 0x820], esi
xor ebx, ebx
cmp dword [ebp - 0x820], 0x2b132ea
mov esi, dword [ebp - 0x830]
je 0x100059fa
mov edi, dword [ebp - 0x82c]
inc edx
jmp 0x1000591b
movzx eax, word [esi + edx*2]
mov ecx, dword [ebp - 0x828]
mov eax, dword [ecx + eax*4]
add eax, dword [ebp - 0x824]
jmp 0x10005a11
mov eax, ebx
push dword [ebp - 0x83c]
call eax
mov esi, dword [ebp - 0x854]
mov ecx, esi
push 0x10038f0e
call fcn.1000ae55
mov eax, dword [ebp - 0x7e8]
cmp eax, 0x10
jb 0x10005a45
inc eax
push eax
push dword [ebp - 0x7fc]
call fcn.1000ccef
pop ecx
pop ecx
lea ecx, [ebp + 8]
mov dword [ebp - 0x7ec], ebx
mov dword [ebp - 0x7e8], 0xf
mov byte [ebp - 0x7fc], bl
call fcn.1000b9ab
mov eax, esi
call fcn.10013020
ret