Function at 0x1001a3c0
Capabilities:
Contain obfuscated stackstrings
Hash data with md5
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100aabaf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x7e8
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100d466c]
push esi
push edi
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100d8f64]
mov dword [ebp - 0x14], ecx
cmp eax, dword [ecx + 4]
jle 0x1001a443
push 0x100d8f64
call fcn.1007090d
add esp, 4
cmp dword [0x100d8f64], 0xffffffff
jne 0x1001a443
mov eax, dword [0x100d8e30]
push 0x100d8f64
mov eax, dword [eax + 0x58]
mov dword [0x100d9060], eax
call fcn.100708c3
add esp, 4
push dword [ebx + 0x10]
movss xmm0, dword [ebx + 0xc]
xor edx, edx
mov edi, dword [ebx + 8]
push ecx
mov ecx, dword [0x100d85a4]
movss dword [esp], xmm0
push edi
call dword [0x100d9060]
mov ecx, dword [0x100d860c]
push edi
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x100d860c]
mov dword [ebp - 0x1c], eax
mov eax, 0x1b4e81b5
imul edi
mov esi, dword [ecx + 0xf8]
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul eax, ecx, 0x96
sub edi, eax
imul eax, edi, 0x68
mov edi, dword [ebp - 0x1c]
add eax, esi
mov dword [ebp - 0x24], eax
test edi, edi
je 0x1001c8c3
cmp dword [edi + 4], 0
je 0x1001c8c3
cmp byte [0x100d8beb], 0
je 0x1001a4c8
or dword [edi + 0x30], 0x400000
call fcn.100168a0
cmp byte [eax + 0x3a8], 0
je 0x1001a4da
and dword [edi + 0x30], 0xfffffffe
push dword [0x100d8bb4]
mov esi, dword [0x100ae230]
call esi
test ax, ax
je 0x1001a4f4
mov ecx, edi
call fcn.10007720
push dword [0x100d8bf8]
call esi
test ax, ax
je 0x1001a71c
cmp byte [0x100d8bf5], 0
jne 0x1001a52f
call fcn.10007e80
xor ecx, ecx
cmp dword [0x100d8bf8], ecx
sete cl
lea ecx, [ecx*4 + 8]
cmp dword [ecx + eax], 2
je 0x1001a71c
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
call fcn.10007330
mov ecx, dword [0x100d5618]
mov esi, 1
mov dword [ebp - 0x18], esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x54], eax
mov eax, dword [ecx]
movq qword [ebp - 0x5c], xmm0
mov eax, dword [eax + 0x20]
call eax
cmp eax, esi
jl 0x1001a716
mov ecx, dword [0x100d5618]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x1001a716
mov ecx, dword [eax]
mov edx, dword [ecx + 0x274]
mov ecx, eax
call edx
test al, al
je 0x1001a716
mov ecx, dword [0x100d5618]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
mov dword [ebp - 0x4c], esi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x274]
mov ecx, esi
call edx
test al, al
je 0x1001a6fa
mov ecx, dword [0x100d8afc]
mov eax, dword [esi + 8]
mov edi, dword [ecx]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [edi + 8]
lea ecx, [edi + 8]
mov esi, eax
mov edx, dword [edx + 0x28]
call edx
cmp esi, eax
je 0x1001a6f7
mov esi, dword [ebp - 0x4c]
mov ecx, esi
call fcn.10006020
cmp dword [eax], 0
jne 0x1001a6f7
mov ecx, esi
call fcn.10007330
mov edi, dword [ebp - 0x1c]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x38], xmm0
movss xmm3, dword [ebp - 0x34]
movss xmm0, dword [0x100c4cc0]
comiss xmm0, xmm3
mov dword [ebp - 0x30], eax
jbe 0x1001a6fa
movss xmm2, dword [ebp - 0x30]
movss xmm4, dword [ebp - 0x54]
movaps xmm0, xmm2
addss xmm0, dword [0x100c4cac]
comiss xmm4, xmm0
jbe 0x1001a6fa
movss xmm0, dword [edi + 0x10]
divss xmm0, dword [0x100c4d78]
movss xmm1, dword [ebp - 0x5c]
subss xmm1, dword [ebp - 0x38]
mulss xmm0, dword [0x100c4c20]
movss dword [ebp - 0x28], xmm1
movss xmm1, dword [ebp - 0x58]
subss xmm1, xmm3
movss dword [ebp - 0x4c], xmm0
cvtps2pd xmm0, xmm0
movss dword [ebp - 0x64], xmm1
movaps xmm1, xmm4
subss xmm1, xmm2
movss dword [ebp - 0x20], xmm1
call fcn.100a7a70
movss xmm1, dword [ebp - 0x4c]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x48], xmm0
cvtps2pd xmm0, xmm1
call fcn.100a8780
movss xmm3, dword [ebp - 0x48]
xorps xmm2, xmm2
movss xmm1, dword [ebp - 0x64]
cvtsd2ss xmm2, xmm0
movss xmm0, dword [ebp - 0x28]
mulss xmm1, xmm3
mulss xmm3, dword [ebp - 0x28]
mulss xmm0, xmm2
mulss xmm2, dword [ebp - 0x64]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [edi + 0x2c], xmm0
addss xmm3, xmm2
mulss xmm1, dword [0x100c4d20]
mulss xmm3, dword [0x100c4f5c]
movss dword [edi + 0x28], xmm1
movss dword [edi + 0x24], xmm3
jmp 0x1001a6fa
mov edi, dword [ebp - 0x1c]
mov ecx, dword [0x100d5618]
mov esi, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x18], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
cmp esi, eax
jle 0x1001a567
mov esi, dword [0x100ae230]
cmp byte [0x100d8b53], 0
je 0x1001a7ce
cmp byte [0x100d8b54], 0
je 0x1001a7ce
mov eax, dword [0x100d8afc]
cmp dword [eax], 0
je 0x1001a7ce
mov ecx, dword [eax]
call fcn.10006020
cmp dword [eax], 0
jne 0x1001a7ce
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x25c]
cmp eax, 9
je 0x1001a7ce
cmp eax, 8
je 0x1001a7ce
call fcn.10007480
test dword [eax], 0x400
jne 0x1001a7ce
cmp byte [0x100d5678], 0
jne 0x1001a78c
cmp byte [0x100d5670], 0
je 0x1001a78c
or dword [edi + 0x30], 2
jmp 0x1001a7c7
test byte [edi + 0x30], 2
je 0x1001a7c0
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
call fcn.10007480
test byte [eax], 1
je 0x1001a7b3
mov al, 1
mov byte [0x100d5670], 1
mov byte [0x100d5678], al
jmp 0x1001a7ce
and dword [edi + 0x30], 0xfffffffd
xor al, al
mov byte [0x100d5678], al
jmp 0x1001a7ce
mov byte [0x100d5678], 0
mov byte [0x100d5670], 0
push dword [0x100d8bac]
call esi
test ax, ax
je 0x1001a7e2
mov ecx, edi
call fcn.10007ad0
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x100d906c]
cmp eax, dword [ecx + 4]
jle 0x1001a949
push 0x100d906c
call fcn.1007090d
add esp, 4
cmp dword [0x100d906c], 0xffffffff
jne 0x1001a949
push 0xc4
mov dword [ebp - 4], 0
call fcn.100709e3
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 1
push 0x100bb35c
mov dword [esi + 0x1c], 0x7f800000
mov dword [esi + 0x18], 0x7f800000
mov dword [esi + 0x14], 0x7f800000
mov dword [esi + 0x28], 0x7f800000
mov dword [esi + 0x24], 0x7f800000
mov dword [esi + 0x20], 0x7f800000
mov dword [esi + 0x50], 0x7f800000
mov dword [esi + 0x4c], 0x7f800000
mov dword [esi + 0x48], 0x7f800000
mov dword [esi + 0x5c], 0x7f800000
mov dword [esi + 0x58], 0x7f800000
mov dword [esi + 0x54], 0x7f800000
mov dword [esi + 0x68], 0x7f800000
mov dword [esi + 0x64], 0x7f800000
mov dword [esi + 0x60], 0x7f800000
mov dword [esi + 0x78], 0x7f800000
mov dword [esi + 0x74], 0x7f800000
mov dword [esi + 0x70], 0x7f800000
mov dword [esi + 0x84], 0x7f800000
mov dword [esi + 0x80], 0x7f800000
mov dword [esi + 0x7c], 0x7f800000
mov dword [esi + 0x90], 0x7f800000
mov dword [esi + 0x8c], 0x7f800000
mov dword [esi + 0x88], 0x7f800000
mov dword [esi + 0xbc], 0x7f800000
mov dword [esi + 0xb8], 0x7f800000
mov dword [esi + 0xb4], 0x7f800000
call dword [0x100ae0d8]
mov edx, 0x100c0ec0
mov ecx, eax
call fcn.100177f0
push 0x100d906c
mov dword [0x100d909c], esi
mov eax, dword [eax + 2]
mov dword [esi + 0xc0], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [ebp - 4], 0xffffffff
call fcn.100708c3
add esp, 4
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
call fcn.10007480
mov esi, dword [edi + 4]
push 0x40
push 0
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [0x100d909c]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0xa8]
push eax
call fcn.10073960
mov eax, 0x20
mov dword [ebp - 0xc0], 0x67452301
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0xa8]
shr eax, 3
mov edx, 0x3f
and eax, 0x3f
mov dword [ebp - 0xbc], 0xefcdab89
add ecx, eax
mov dword [ebp - 0xb8], 0x98badcfe
mov dword [ebp - 0xb4], 0x10325476
sub edx, eax
mov dword [ebp - 0xac], 0
add esp, 0xc
mov dword [ebp - 0xa8], esi
mov byte [ecx], 0x80
inc ecx
cmp edx, 8
jae 0x1001aa03
push edx
push 0
push ecx
call fcn.10073960
add esp, 0xc
lea edx, [ebp - 0xa8]
lea ecx, [ebp - 0xc0]
call fcn.1006f8d0
push 0x38
push 0
lea eax, [ebp - 0xa8]
push eax
jmp 0x1001aa0a
lea eax, [edx - 8]
push eax
push 0
push ecx
call fcn.10073960
mov eax, dword [ebp - 0xb0]
lea edx, [ebp - 0xa8]
add esp, 0xc
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xac]
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x6c], eax
call fcn.1006f8d0
movups xmm0, xmmword [ebp - 0xc0]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0xc0], 0
movups xmmword [ebp - 0x60], xmm0
mov ecx, dword [ebp - 0x5a]
mov eax, dword [esi + 0xc0]
and ecx, 0x7fffffff
mov dword [eax], ecx
mov ecx, dword [0x100d55f4]
mov eax, dword [ecx + 0x10]
mov dword [esi], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 4], eax
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
call fcn.10003490
mov ecx, dword [0x100d55f4]
movd xmm0, dword [eax]
movss xmm1, dword [ecx + 0x20]
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x14], xmm1
mulss xmm0, xmm1
movss dword [ecx + 0x10], xmm0
mov ecx, dword [0x100d8a20]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [0x100d8afc]
push dword [eax]
call edx
push 0xb8
add esi, 8
push 0
push esi
call fcn.10073960
mov ecx, dword [0x100d8a18]
add esp, 0xc
mov eax, dword [ecx]
mov edx, dword [eax + 4]
mov eax, dword [0x100d8afc]
push dword [eax]
call edx
mov eax, dword [0x100d8afc]
mov ecx, dword [0x100d8a1c]
push esi
push dword [0x100d8a18]
mov edx, dword [eax]
mov eax, dword [ecx]
push edi
push edx
mov eax, dword [eax + 0x50]
call eax
mov ecx, dword [0x100d8a20]
push esi
mov eax, dword [ecx]
mov edx, dword [eax + 4]
mov eax, dword [0x100d8afc]
push dword [eax]
call edx
mov eax, dword [0x100d8afc]
mov ecx, dword [0x100d8a1c]
push esi
push edi
mov edx, dword [eax]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x54]
call eax
push edi
call fcn.100046b0
cmp byte [0x100d8bd8], 0
mov esi, dword [0x100ae230]
je 0x1001b1b7
push dword [0x100d8bdc]
call esi
test ax, ax
je 0x1001b1b7
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
call fcn.10007480
test byte [eax], 1
je 0x1001b1be
mov byte [0x100d8b54], 0
mov eax, dword [edi + 0x30]
and eax, 0xfffffffb
mov dword [edi + 0x30], eax
je 0x1001ab79
and eax, 0xfffffffb
or eax, 2
mov dword [edi + 0x30], eax
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x30], eax
movss xmm2, dword [ebp - 0x30]
subss xmm2, dword [0x100c4f10]
movq qword [ebp - 0x38], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x1c], xmm2
subss xmm2, dword [ebp - 0x30]
movaps xmm1, xmm2
movss dword [ebp - 0x20], xmm2
mulss xmm1, xmm2
movss dword [ebp - 0x28], xmm1
cvtps2pd xmm0, xmm0
call fcn.100a7a70
movss xmm1, dword [ebp - 0x18]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x100c4c88]
addss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x14], xmm0
cvtps2pd xmm0, xmm1
call fcn.100a8780
movss xmm2, dword [ebp - 0x14]
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm0
mov dword [ebp - 0x790], 0x7f800000
mov dword [ebp - 0x794], 0x7f800000
mov dword [ebp - 0x798], 0x7f800000
mov dword [ebp - 0x784], 0x7f800000
movaps xmm1, xmm2
movss xmm4, dword [ebp - 0x20]
mulss xmm3, dword [0x100c4c88]
subss xmm1, xmm2
mov dword [ebp - 0x788], 0x7f800000
mov dword [ebp - 0x78c], 0x7f800000
mov dword [ebp - 0x778], 0x7f800000
addss xmm3, dword [ebp - 0x34]
movss dword [ebp - 0x690], xmm1
mulss xmm1, xmm1
mov dword [ebp - 0x77c], 0x7f800000
mov dword [ebp - 0x780], 0x7f800000
movaps xmm0, xmm3
movss dword [ebp - 0x688], xmm4
subss xmm0, xmm3
mov byte [ebp - 0x65b], 1
movss dword [ebp - 0x68c], xmm0
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, dword [ebp - 0x28]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x1001acba
mov byte [ebp - 0x65b], 0
mov eax, dword [0x100d8afc]
lea edx, [ebp - 0x798]
movss xmm0, dword [ebp - 0x30]
mov ecx, dword [0x100d5654]
push edx
mov dword [ebp - 0x670], 0
lea edx, [ebp - 0x68]
mov dword [ebp - 0x66c], 0
mov dword [ebp - 0x668], 0
mov dword [ebp - 0x660], 0
mov byte [ebp - 0x65c], 1
mov dword [ebp - 0x680], 0
mov dword [ebp - 0x67c], 0
mov dword [ebp - 0x678], 0
movss dword [ebp - 0x6a0], xmm2
movss dword [ebp - 0x69c], xmm3
movss dword [ebp - 0x698], xmm0
mov dword [ebp - 0x68], 0x100bb44c
mov eax, dword [eax]
push edx
mov dword [ebp - 0x64], eax
lea edx, [ebp - 0x6a0]
mov eax, dword [ecx]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [ebp - 0x76c]
ucomiss xmm0, dword [0x100c4bc8]
lahf
test ah, 0x44
jnp 0x1001ad84
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001ad84
mov eax, dword [edi + 0x30]
and eax, 0xfffffffd
or eax, 4
mov dword [edi + 0x30], eax
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [0x100c4b30]
movss xmm2, dword [0x100c4c58]
comiss xmm2, xmm0
movss dword [ebp - 0x18], xmm0
ja 0x1001abc6
movss xmm1, dword [ebp - 0x1c]
xorps xmm0, xmm0
subss xmm1, dword [ebp - 0x30]
movss dword [ebp - 0x18], xmm0
movaps xmm2, xmm1
movss dword [ebp - 0x20], xmm1
mulss xmm2, xmm1
movss dword [ebp - 0x28], xmm2
nop word [eax + eax]
cvtps2pd xmm0, xmm0
call fcn.100a7a70
movss xmm1, dword [ebp - 0x18]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x100c4c84]
addss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x14], xmm0
cvtps2pd xmm0, xmm1
call fcn.100a8780
movss xmm2, dword [ebp - 0x14]
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm0
mov dword [ebp - 0x7e8], 0x7f800000
mov dword [ebp - 0x7ec], 0x7f800000
mov dword [ebp - 0x7f0], 0x7f800000
mov dword [ebp - 0x7dc], 0x7f800000
movaps xmm1, xmm2
movss xmm4, dword [ebp - 0x20]
mulss xmm3, dword [0x100c4c84]
subss xmm1, xmm2
mov dword [ebp - 0x7e0], 0x7f800000
mov dword [ebp - 0x7e4], 0x7f800000
mov dword [ebp - 0x7d0], 0x7f800000
addss xmm3, dword [ebp - 0x34]
movss dword [ebp - 0x6e0], xmm1
mulss xmm1, xmm1
mov dword [ebp - 0x7d4], 0x7f800000
mov dword [ebp - 0x7d8], 0x7f800000
movaps xmm0, xmm3
movss dword [ebp - 0x6d8], xmm4
subss xmm0, xmm3
mov byte [ebp - 0x6ab], 1
movss dword [ebp - 0x6dc], xmm0
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, dword [ebp - 0x28]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x1001aec4
mov byte [ebp - 0x6ab], 0
mov eax, dword [0x100d8afc]
lea edx, [ebp - 0x7f0]
movss xmm0, dword [ebp - 0x30]
mov ecx, dword [0x100d5654]
push edx
mov dword [ebp - 0x6c0], 0
lea edx, [ebp - 0x50]
mov dword [ebp - 0x6bc], 0
mov dword [ebp - 0x6b8], 0
mov dword [ebp - 0x6b0], 0
mov byte [ebp - 0x6ac], 1
mov dword [ebp - 0x6d0], 0
mov dword [ebp - 0x6cc], 0
mov dword [ebp - 0x6c8], 0
movss dword [ebp - 0x6f0], xmm2
movss dword [ebp - 0x6ec], xmm3
movss dword [ebp - 0x6e8], xmm0
mov dword [ebp - 0x50], 0x100bb44c
mov eax, dword [eax]
push edx
mov dword [ebp - 0x4c], eax
lea edx, [ebp - 0x6f0]
mov eax, dword [ecx]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [ebp - 0x7c4]
ucomiss xmm0, dword [0x100c4bc8]
lahf
test ah, 0x44
jnp 0x1001af8e
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001af8e
mov eax, dword [edi + 0x30]
and eax, 0xfffffffd
or eax, 4
mov dword [edi + 0x30], eax
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [0x100c4b30]
movss xmm2, dword [0x100c4c58]
comiss xmm2, xmm0
movss dword [ebp - 0x18], xmm0
ja 0x1001add0
movss xmm1, dword [ebp - 0x1c]
xorps xmm0, xmm0
subss xmm1, dword [ebp - 0x30]
movss dword [ebp - 0x18], xmm0
movaps xmm2, xmm1
movss dword [ebp - 0x1c], xmm1
mulss xmm2, xmm1
movss dword [ebp - 0x20], xmm2
cvtps2pd xmm0, xmm0
call fcn.100a7a70
movss xmm1, dword [ebp - 0x18]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x100c4c1c]
addss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x14], xmm0
cvtps2pd xmm0, xmm1
call fcn.100a8780
movss xmm2, dword [ebp - 0x14]
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm0
mov dword [ebp - 0xb8], 0x7f800000
mov dword [ebp - 0xbc], 0x7f800000
mov dword [ebp - 0xc0], 0x7f800000
mov dword [ebp - 0xac], 0x7f800000
movaps xmm1, xmm2
movss xmm4, dword [ebp - 0x1c]
mulss xmm3, dword [0x100c4c1c]
subss xmm1, xmm2
mov dword [ebp - 0xb0], 0x7f800000
mov dword [ebp - 0xb4], 0x7f800000
mov dword [ebp - 0xa0], 0x7f800000
addss xmm3, dword [ebp - 0x34]
movss dword [ebp - 0x730], xmm1
mulss xmm1, xmm1
mov dword [ebp - 0xa4], 0x7f800000
mov dword [ebp - 0xa8], 0x7f800000
movaps xmm0, xmm3
movss dword [ebp - 0x728], xmm4
subss xmm0, xmm3
mov byte [ebp - 0x6fb], 1
movss dword [ebp - 0x72c], xmm0
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, dword [ebp - 0x20]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x1001b0c8
mov byte [ebp - 0x6fb], 0
mov eax, dword [0x100d8afc]
lea edx, [ebp - 0xc0]
movss xmm0, dword [ebp - 0x30]
mov ecx, dword [0x100d5654]
push edx
mov dword [ebp - 0x710], 0
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x70c], 0
mov dword [ebp - 0x708], 0
mov dword [ebp - 0x700], 0
mov byte [ebp - 0x6fc], 1
mov dword [ebp - 0x720], 0
mov dword [ebp - 0x71c], 0
mov dword [ebp - 0x718], 0
movss dword [ebp - 0x740], xmm2
movss dword [ebp - 0x73c], xmm3
movss dword [ebp - 0x738], xmm0
mov dword [ebp - 0x2c], 0x100bb44c
mov eax, dword [eax]
push edx
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0x740]
mov eax, dword [ecx]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm1, dword [ebp - 0x94]
ucomiss xmm1, dword [0x100c4bc8]
lahf
test ah, 0x44
jnp 0x1001b192
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1001b192
mov eax, dword [edi + 0x30]
and eax, 0xfffffffd
or eax, 4
mov dword [edi + 0x30], eax
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [0x100c4b30]
movss xmm1, dword [0x100c4c58]
comiss xmm1, xmm0
movss dword [ebp - 0x18], xmm0
ja 0x1001afd4
jmp 0x1001b1be
mov byte [0x100d8b54], 1
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
call fcn.10007480
test byte [eax], 1
je 0x1001b1fd
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
call fcn.10006020
cmp dword [eax], 0
jne 0x1001b1fd
cmp byte [0x100d8bc5], 0
je 0x1001b1fd
push dword [0x100d8bc8]
call esi
test ax, ax
je 0x1001b1fd
mov dword [edi + 0x30], 4
mov ecx, dword [0x100d8a20]
mov esi, dword [0x100d909c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
mov eax, dword [0x100d8afc]
push dword [eax]
call edx
mov ecx, dword [0x100d8a18]
push 0
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi + 0xc0]
mov ecx, dword [0x100d55f4]
mov dword [eax], 0xffffffff
mov eax, dword [esi]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 4]
mov dword [ecx + 0x14], eax
cmp byte [0x100d8bbc], 0
je 0x1001b294
push dword [0x100d8bc0]
call dword [0x100ae230]
test ax, ax
je 0x1001b294
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
call fcn.10007480
test byte [eax], 1
jne 0x1001b276
test byte [ebp - 0x48], 1
je 0x1001b276
or dword [edi + 0x30], 2
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
call fcn.10007480
test byte [eax], 1
jne 0x1001b294
cmp byte [0x100d8bbd], 0
je 0x1001b294
or dword [edi + 0x30], 4
cmp byte [0x100d8b60], 0
je 0x1001b2be
test dword [edi + 0x30], 0x10000
je 0x1001b2be
mov ecx, dword [0x100d85a4]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0x32
mov eax, dword [eax + 0x98]
call eax
cmp byte [0x100d8bf4], 0
je 0x1001b2ee
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
call fcn.10019860
cmp byte [eax], 0
jne 0x1001b2ee
mov ecx, dword [0x100d5608]
push 0x100c114c
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 3
jmp 0x1001b302
mov ecx, dword [0x100d5608]
push 0x100c114c
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x24]
mov edx, 0x18
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
lea ecx, [esi + 0x49]
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
mov eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0x14], eax
mov eax, dword [edi + 0x18]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x1c], eax
mov eax, dword [edi + 0x20]
mov dword [esi + 0x20], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [edi + 0x28]
mov dword [esi + 0x28], eax
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0x30]
mov dword [esi + 0x30], eax
mov al, byte [edi + 0x34]
mov byte [esi + 0x34], al
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
mov eax, dword [edi + 0x3c]
mov dword [esi + 0x3c], eax
mov eax, dword [edi + 0x40]
mov dword [esi + 0x40], eax
movzx eax, word [edi + 0x44]
mov word [esi + 0x44], ax
movzx eax, word [edi + 0x46]
mov word [esi + 0x46], ax
mov al, byte [edi + 0x48]
mov byte [esi + 0x48], al
mov eax, edi
sub eax, esi
mov dword [ebp - 0x14], eax
mov esi, eax
mov al, byte [esi + ecx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
sub edx, 1
jne 0x1001b394
mov ecx, edi
call fcn.10018450
mov esi, dword [ebp - 0x24]
mov dword [esi + 0x64], eax
cmp byte [0x100d8b9d], 0
je 0x1001b577
mov ecx, dword [0x100d5600]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1001b577
mov eax, dword [0x100d8afc]
mov ecx, dword [eax]
call fcn.10003490
mov ecx, dword [0x100d5600]
movd xmm0, dword [eax]
mov eax, dword [0x100d55f4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20]
mov eax, dword [ecx]
movss dword [ebp - 0x28], xmm0
mov eax, dword [eax + 0x138]
call eax
mov esi, eax
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x20], ecx
mov ecx, dword [0x100d5600]
mov edx, dword [ecx]
mov edx, dword [edx + 0x138]
call edx
push 0
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x14], ecx
mov ecx, eax
call dword [ebp - 0x14]
fstp dword [ebp - 0x14]
push 1
mov ecx, esi
call dword [ebp - 0x20]
mov eax, dword [0x100d55f4]
fadd dword [ebp - 0x14]
movss xmm2, dword [eax + 0x10]
addss xmm2, xmm2
fstp dword [ebp - 0x24]
movss xmm0, dword [ebp - 0x24]
addss xmm0, xmm2
cvttss2si eax, xmm0
cmp eax, dword [0x100d9090]
je 0x1001b577
movss xmm0, dword [0x100d8a9c]
movss xmm1, dword [ebp - 0x28]
comiss xmm1, xmm0
jae 0x1001b486
subss xmm0, xmm1
comiss xmm0, dword [0x100c4bc8]
jbe 0x1001b577
cvttss2si eax, xmm2
mov ecx, 0x1c
cdq
idiv ecx
cmp edx, ecx
ja case.default.0x1001b49a
jmp dword [edx*4 + 0x1001c8ec]
mov edx, 0x100bc317
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c1168
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c116c
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c1170
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c1174
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c117c
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c1184
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c118c
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c1194
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c11a0
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c11ac
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c11b8
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c11c4
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c11cc
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c11d4
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c11dc
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c11e4
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c11e8
mov ecx, edx
jmp 0x1001b556
mov edx, 0x100c11ec
mov ecx, edx
call fcn.100178b0
mov eax, dword [0x100d55f4]
movss xmm0, dword [eax + 0x10]
addss xmm0, xmm0
addss xmm0, dword [ebp - 0x24]
cvttss2si eax, xmm0
mov dword [0x100d9090], eax
cmp byte [0x100d8b6a], 0
mov edi, 0x7fffffff
mov esi, dword [0x100ae0e0]
je 0x1001c1bb
push 0x14
push 0x100c11f0
lea ecx, [ebp - 0x630]
mov dword [ebp - 0x620], 0
mov dword [ebp - 0x61c], 0xf
mov byte [ebp - 0x630], 0
call fcn.10005390
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x618]
push 0x11
push 0x100c1208
mov dword [ebp - 0x608], 0
mov dword [ebp - 0x604], 0xf
mov byte [ebp - 0x618], 0
call fcn.10005390
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x600]
push 0x21
push 0x100c121c
mov dword [ebp - 0x5f0], 0
mov dword [ebp - 0x5ec], 0xf
mov byte [ebp - 0x600], 0
call fcn.10005390
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x5e8]
push 0x12
push 0x100c1240
mov dword [ebp - 0x5d8], 0
mov dword [ebp - 0x5d4], 0xf
mov byte [ebp - 0x5e8], 0
call fcn.10005390
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x5d0]
push 0xf
push 0x100c1254
mov dword [ebp - 0x5c0], 0
mov dword [ebp - 0x5bc], 0xf
mov byte [ebp - 0x5d0], 0
call fcn.10005390
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x5b8]
push 0x1d
push 0x100c1264
mov dword [ebp - 0x5a8], 0
mov dword [ebp - 0x5a4], 0xf
mov byte [ebp - 0x5b8], 0
call fcn.10005390
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x5a0]
push 8
push 0x100c1284
mov dword [ebp - 0x590], 0
mov dword [ebp - 0x58c], 0xf
mov byte [ebp - 0x5a0], 0
call fcn.10005390
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x588]
push 0x3b
push 0x100c1290
mov dword [ebp - 0x578], 0
mov dword [ebp - 0x574], 0xf
mov byte [ebp - 0x588], 0
call fcn.10005390
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x570]
push 0x3b
push 0x100c1290
mov dword [ebp - 0x560], 0
mov dword [ebp - 0x55c], 0xf
mov byte [ebp - 0x570], 0
call fcn.10005390
mov byte [ebp - 4], 0xa
push 0x26
push 0x100c12cc
lea ecx, [ebp - 0x558]
mov dword [ebp - 0x548], 0
mov dword [ebp - 0x544], 0xf
mov byte [ebp - 0x558], 0
call fcn.10005390
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x540]
push 0x23
push 0x100c12f4
mov dword [ebp - 0x530], 0
mov dword [ebp - 0x52c], 0xf
mov byte [ebp - 0x540], 0
call fcn.10005390
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x528]
push 0x2c
push 0x100c1318
mov dword [ebp - 0x518], 0
mov dword [ebp - 0x514], 0xf
mov byte [ebp - 0x528], 0
call fcn.10005390
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x510]
push 0x29
push 0x100c1348
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x4fc], 0xf
mov byte [ebp - 0x510], 0
call fcn.10005390
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x4f8]
push 0x20
push 0x100c1374
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x4e4], 0xf
mov byte [ebp - 0x4f8], 0
call fcn.10005390
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x4e0]
push 0x2f
push 0x100c1398
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x4cc], 0xf
mov byte [ebp - 0x4e0], 0
call fcn.10005390
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x4c8]
push 0x22
push 0x100c13c8
mov dword [ebp - 0x4b8], 0
mov dword [ebp - 0x4b4], 0xf
mov byte [ebp - 0x4c8], 0
call fcn.10005390
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x4b0]
push 0x3b
push 0x100c1290
mov dword [ebp - 0x4a0], 0
mov dword [ebp - 0x49c], 0xf
mov byte [ebp - 0x4b0], 0
call fcn.10005390
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x498]
push 0x27
push 0x100c13ec
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0xf
mov byte [ebp - 0x498], 0
call fcn.10005390
mov byte [ebp - 4], 0x13
push 0x23
push 0x100c1414
lea ecx, [ebp - 0x480]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
call fcn.10005390
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x468]
push 0x31
push 0x100c1438
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0xf
mov byte [ebp - 0x468], 0
call fcn.10005390
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x450]
push 0x30
push 0x100c146c
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
call fcn.10005390
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x438]
push 0x25
push 0x100c14a0
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], 0
call fcn.10005390
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x420]
push 0x2f
push 0x100c1398
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0xf
mov byte [ebp - 0x420], 0
call fcn.10005390
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x408]
push 0x2d
push 0x100c14c8
mov dword [ebp - 0x3f8], 0
mov dword [ebp - 0x3f4], 0xf
mov byte [ebp - 0x408], 0
call fcn.10005390
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x3f0]
push 0x2a
push 0x100c14f8
mov dword [ebp - 0x3e0], 0
mov dword [ebp - 0x3dc], 0xf
mov byte [ebp - 0x3f0], 0
call fcn.10005390
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x3d8]
push 0x2e
push 0x100c1524
mov dword [ebp - 0x3c8], 0
mov dword [ebp - 0x3c4], 0xf
mov byte [ebp - 0x3d8], 0
call fcn.10005390
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x3c0]
push 0x27
push 0x100c1554
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x3ac], 0xf
mov byte [ebp - 0x3c0], 0
call fcn.10005390
mov byte [ebp - 4], 0x1c
push 0x25
push 0x100c157c
lea ecx, [ebp - 0x3a8]
mov dword [ebp - 0x398], 0
mov dword [ebp - 0x394], 0xf
mov byte [ebp - 0x3a8], 0
call fcn.10005390
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x390]
push 0x28
push 0x100c15a4
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x37c], 0xf
mov byte [ebp - 0x390], 0
call fcn.10005390
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x378]
push 0x2e
push 0x100c15d0
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], 0xf
mov byte [ebp - 0x378], 0
call fcn.10005390
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x360]
push 0x2f
push 0x100c1600
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x34c], 0xf
mov byte [ebp - 0x360], 0
call fcn.10005390
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x348]
push 0x3a
push 0x100c1630
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0xf
mov byte [ebp - 0x348], 0
call fcn.10005390
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x330]
push 0x2f
push 0x100c166c
mov dword [ebp - 0x320], 0
mov dword [ebp - 0x31c], 0xf
mov byte [ebp - 0x330], 0
call fcn.10005390
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x318]
push 0x31
push 0x100c169c
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0xf
mov byte [ebp - 0x318], 0
call fcn.10005390
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x300]
push 0x25
push 0x100c16d0
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2ec], 0xf
mov byte [ebp - 0x300], 0
call fcn.10005390
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x2e8]
push 0x29
push 0x100c16f8
mov dword [ebp - 0x2d8], 0
mov dword [ebp - 0x2d4], 0xf
mov byte [ebp - 0x2e8], 0
call fcn.10005390
mov byte [ebp - 4], 0x25
push 0x23
push 0x100c1724
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0xf
mov byte [ebp - 0x2d0], 0
call fcn.10005390
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x2b8]
push 0x29
push 0x100c1748
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2a4], 0xf
mov byte [ebp - 0x2b8], 0
call fcn.10005390
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x2a0]
push 0x2d
push 0x100c1774
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 0xf
mov byte [ebp - 0x2a0], 0
call fcn.10005390
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x288]
push 0x22
push 0x100c13c8
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0xf
mov byte [ebp - 0x288], 0
call fcn.10005390
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x270]
push 0x3b
push 0x100c1290
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0xf
mov byte [ebp - 0x270], 0
call fcn.10005390
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x258]
push 0x27
push 0x100c13ec
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
call fcn.10005390
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x240]
push 0x23
push 0x100c17a4
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
call fcn.10005390
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x228]
push 0x27
push 0x100c17c8
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
call fcn.10005390
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x210]
push 0x2a
push 0x100c17f0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0xf
mov byte [ebp - 0x210], 0
call fcn.10005390
mov byte [ebp - 4], 0x2e
push 0x20
push 0x100c181c
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1e4], 0xf
mov byte [ebp - 0x1f8], 0
call fcn.10005390
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x1e0]
push 0x2f
push 0x100c1398
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0xf
mov byte [ebp - 0x1e0], 0
call fcn.10005390
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x1c8]
push 0x2e
push 0x100c1840
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0xf
mov byte [ebp - 0x1c8], 0
call fcn.10005390
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x1b0]
push 0x2f
push 0x100c1398
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
call fcn.10005390
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x198]
push 0x27
push 0x100c13ec
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
call fcn.10005390
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x180]
push 0x23
push 0x100c1414
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
call fcn.10005390
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x168]
push 0x2c
push 0x100c1870
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
call fcn.10005390
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x150]
push 0x30
push 0x100c146c
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
call fcn.10005390
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x138]
push 0x26
push 0x100c18a0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0xf
mov byte [ebp - 0x138], 0
call fcn.10005390
mov byte [ebp - 4], 0x37
push 0x2f
push 0x100c1398
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0xf
mov byte [ebp - 0x120], 0
call fcn.10005390
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x108]
push 6
push 0x100c18c8
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.10005390
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0xf0]
push 6
push 0x100c18c8
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
call fcn.10005390
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0xd8]
push 6
push 0x100c18c8
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0xf
mov byte [ebp - 0xd8], 0
call fcn.10005390
lea ecx, [ebp - 0x630]
mov dword [ebp - 4], 0x3b
push ecx
lea eax, [ebp - 0xc0]
push eax
push ecx
lea ecx, [ebp - 0x5c]
call fcn.1001e500
push fcn.10005270
push 0x3a
push 0x18
lea eax, [ebp - 0x630]
mov byte [ebp - 4], 0x3d
push eax
call fcn.10070d63
call esi
sub eax, dword [0x100d1aa4]
cmp eax, 0x14
jbe 0x1001c1ac
call esi
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x5c]
mov dword [0x100d1aa4], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
call fcn.100775ca
xor edx, edx
div esi
mov eax, dword [ebp - 0x5c]
lea ecx, [edx + edx*2]
mov edx, dword [eax + ecx*8 + 0x10]
lea ecx, [eax + ecx*8]
mov eax, edi
sub eax, edx
cmp eax, 4
jb 0x1001c8d8
cmp dword [ecx + 0x14], 0x10
jb 0x1001c139
mov ecx, dword [ecx]
push edx
push ecx
push 4
push 0x100c18d0
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x44]
call fcn.10016300
mov byte [ebp - 4], 0x3e
mov ecx, dword [0x100d5600]
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ecx]
mov edx, dword [eax + 0x1b0]
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
call edx
mov byte [ebp - 4], 0x3d
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x1001c1a6
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001c19c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c8dd
push edx
push ecx
call fcn.10070d2d
add esp, 8
mov esi, dword [0x100ae0e0]
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1000c3f0
cmp byte [0x100d8b6b], 0
je 0x1001c8c3
push 4
push 0x100c18d8
lea ecx, [ebp - 0x3a8]
mov dword [ebp - 0x398], 0
mov dword [ebp - 0x394], 0xf
mov byte [ebp - 0x3a8], 0
call fcn.10005390
mov dword [ebp - 4], 0x3f
lea ecx, [ebp - 0x390]
push 6
push 0x100c18e0
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x37c], 0xf
mov byte [ebp - 0x390], 0
call fcn.10005390
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x378]
push 0xd
push 0x100c18e8
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], 0xf
mov byte [ebp - 0x378], 0
call fcn.10005390
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x360]
push 0x18
push 0x100c18f8
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x34c], 0xf
mov byte [ebp - 0x360], 0
call fcn.10005390
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x348]
push 0xa
push 0x100c1914
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0xf
mov byte [ebp - 0x348], 0
call fcn.10005390
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x330]
push 0xd
push 0x100c1920
mov dword [ebp - 0x320], 0
mov dword [ebp - 0x31c], 0xf
mov byte [ebp - 0x330], 0
call fcn.10005390
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x318]
push 0xd
push 0x100c1930
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0xf
mov byte [ebp - 0x318], 0
call fcn.10005390
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x300]
push 0x14
push 0x100c1940
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2ec], 0xf
mov byte [ebp - 0x300], 0
call fcn.10005390
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x2e8]
push 0x13
push 0x100c1958
mov dword [ebp - 0x2d8], 0
mov dword [ebp - 0x2d4], 0xf
mov byte [ebp - 0x2e8], 0
call fcn.10005390
mov byte [ebp - 4], 0x47
push 0xe
push 0x100c196c
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0xf
mov byte [ebp - 0x2d0], 0
call fcn.10005390
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x2b8]
push 0x17
push 0x100c197c
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2a4], 0xf
mov byte [ebp - 0x2b8], 0
call fcn.10005390
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x2a0]
push 0x1c
push 0x100c1994
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 0xf
mov byte [ebp - 0x2a0], 0
call fcn.10005390
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x288]
push 0x18
push 0x100c19b4
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 0xf
mov byte [ebp - 0x288], 0
call fcn.10005390
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x270]
push 0x14
push 0x100c19d0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0xf
mov byte [ebp - 0x270], 0
call fcn.10005390
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x258]
push 0x15
push 0x100c19e8
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
call fcn.10005390
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x240]
push 0x28
push 0x100c1a00
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
call fcn.10005390
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x228]
push 0x18
push 0x100c1a2c
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
call fcn.10005390
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x210]
push 0x27
push 0x100c1a48
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0xf
mov byte [ebp - 0x210], 0
call fcn.10005390
mov byte [ebp - 4], 0x50
push 8
push 0x100c1a70
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1e4], 0xf
mov byte [ebp - 0x1f8], 0
call fcn.10005390
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x1e0]
push 0x1c
push 0x100c1a7c
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0xf
mov byte [ebp - 0x1e0], 0
call fcn.10005390
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x1c8]
push 0x37
push 0x100c1a9c
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0xf
mov byte [ebp - 0x1c8], 0
call fcn.10005390
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x1b0]
push 0x40
push 0x100c1ad8
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
call fcn.10005390
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x198]
push 0x4e
push 0x100c1b20
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
call fcn.10005390
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x180]
push 0x11
push 0x100c1b70
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
call fcn.10005390
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x168]
push 0x5b
push 0x100c1b88
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
call fcn.10005390
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x150]
push 0x4a
push 0x100c1be8
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
call fcn.10005390
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x138]
push 0x3b
push 0x100c1c34
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0xf
mov byte [ebp - 0x138], 0
call fcn.10005390
mov byte [ebp - 4], 0x59
push 0x1d
push 0x100c1c70
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0xf
mov byte [ebp - 0x120], 0
call fcn.10005390
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x108]
push 0x23
push 0x100c1c90
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
call fcn.10005390
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0xf0]
push 0x33
push 0x100c1cb4
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
call fcn.10005390
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0xd8]
push 0x33
push 0x100c1cb4
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0xf
mov byte [ebp - 0xd8], 0
call fcn.10005390
lea ecx, [ebp - 0x3a8]
mov dword [ebp - 4], 0x5d
push ecx
lea eax, [ebp - 0xc0]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.1001e500
push fcn.10005270
push 0x1f
push 0x18
lea eax, [ebp - 0x3a8]
mov byte [ebp - 4], 0x5f
push eax
call fcn.10070d63
call esi
sub eax, dword [0x100d1aa8]
cmp eax, 0x14
jbe 0x1001c8bb
call esi
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x38]
mov dword [0x100d1aa8], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
call fcn.100775ca
xor edx, edx
div esi
mov eax, dword [ebp - 0x38]
lea ecx, [edx + edx*2]
lea eax, [eax + ecx*8]
mov ecx, dword [eax + 0x10]
sub edi, ecx
cmp edi, 4
jb 0x1001c8e2
cmp dword [eax + 0x14], 0x10
jb 0x1001c844
mov eax, dword [eax]
push ecx
push eax
push 4
push 0x100c18d0
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x648]
call fcn.10016300
mov byte [ebp - 4], 0x60
mov ecx, dword [0x100d5600]
cmp dword [ebp - 0x634], 0x10
mov eax, dword [ecx]
mov edx, dword [eax + 0x1b0]
lea eax, [ebp - 0x648]
cmovae eax, dword [ebp - 0x648]
push eax
call edx
mov edx, dword [ebp - 0x634]
cmp edx, 0x10
jb 0x1001c8bb
mov ecx, dword [ebp - 0x648]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001c8b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001c8e7
push edx
push ecx
call fcn.10070d2d
add esp, 8
lea ecx, [ebp - 0x38]
call fcn.1000c3f0
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.10002b50
call fcn.10075dea
call fcn.10002b50
call fcn.10075dea
mov eax, dword [0xad1001b4]
mov ah, 1
adc byte [ecx - 0x52effe4c], ah
mov ah, 1
adc byte [ecx - 0x52effe4c], ah
mov ah, 1
adc byte [ecx - 0x3aeffe4c], bh
mov ah, 1
adc cl, dl
mov ah, 1
adc dl, bl
mov ah, 1
adc bl, ah
mov ah, 1
adc ah, ch
mov ah, 1
adc ch, dh
mov ah, 1
adc dh, bh
mov ah, 1
adc byte [edi], al
mov ch, 1
adc dh, bh
mov ah, 1
adc byte [edi], al
mov ch, 1
adc dh, bh
mov ah, 1
adc byte [edi], al
mov ch, 1
adc dh, bh
mov ah, 1
adc byte [edi], al
mov ch, 1
adc byte [eax], dl
mov ch, 1
adc byte [ecx], bl
mov ch, 1
adc byte [edx], ah
mov ch, 1
adc byte [ebx], ch
mov ch, 1
adc byte [esi*4 - 0x4ac2efff], dh
add dword [eax], edx
inc esi
mov ch, 1
adc byte [edi - 0x4b], cl
add dword [eax], edx
push ebp
mov ebp, esp
push ebx
push esp
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1001a3c0
pop ebx
pop ebp
ret 0xc