Function at 0x100de700
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push esi
push edi
push ebx
push ebp
lea esp, [esp - 0x3ec]
lea esi, [edx]
mov ebx, esi
mov ebp, eax
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x414]
sub ebx, dword [esi*4 + 0x103e45dc]
mov edx, dword [esi*4 + 0x103e45dc]
cmp ebx, 0xf
mov dword [esp + 0x1c], edx
jle 0x100dfd61
mov ecx, dword [esp + 0x410]
mov edx, dword [esp + 0x40c]
mov edi, dword [esp + 0x418]
mov dword [esp + 0xc], edx
lea edx, [ecx + 1]
mov dword [esp + 0x10], edx
mov edx, ebx
mov dword [esp + 0x14], eax
mov eax, ebp
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x40]
call fcn.100de700
mov ecx, ebx
mov edx, 1
shl edx, cl
mov edi, dword [esp + 0x410]
mov ecx, dword [esi*4 + 0x103e463c]
mov dword [esp + 0x24], ecx
mov dword [ebp + edi*4 + 0x4c], eax
mov edi, 1
sub ecx, dword [esp + 0x1c]
shl edi, cl
mov dword [esp + 0x16c], eax
test edx, edx
mov dword [esp + 0x158], edi
jle 0x100df2d1
mov ecx, dword [esp + 0x1c]
mov edi, ecx
shr edi, 0x1f
add edi, ecx
sar edi, 1
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x40c]
sub edi, esi
add edi, ecx
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], 0
lea edi, [ecx + 3]
mov ecx, edi
sar ecx, 1
shr ecx, 0x1e
add ecx, edi
lea edi, [ebx + 2]
sar ecx, 2
cmp esi, edi
jl 0x100df2d1
mov dword [esp + 0x170], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x158]
mov dword [esp + 0x28], ecx
mov ebx, 1
mov dword [esp + 0x15c], edx
xor eax, eax
mov ebp, eax
mov edx, 1
add ebp, eax
mov esi, dword [esp + 0x3c]
add esi, ebp
neg ebp
add ebp, dword [esp + 0x30]
add esi, 2
mov ecx, esi
add ebp, 0x1e
shl edx, cl
mov ecx, ebp
mov ebp, 1
shl ebp, cl
cmp esi, dword [esp + 0x38]
jne 0x100df308
mov ecx, ebx
sar ecx, 1
mov dword [esp + 0x160], ecx
test ecx, ecx
jle 0x100df29b
mov ecx, edx
lea edi, [edx + edx]
add edi, edx
mov esi, edi
sar ecx, 1
sar esi, 1
shr ecx, 0x1e
shr esi, 0x1e
add ecx, edx
add esi, edi
lea edi, [ebp*4]
sar ecx, 2
mov dword [esp + 0x2b8], ecx
mov ecx, edi
sar esi, 2
imul ecx, esi
mov dword [esp + 0x2c], eax
mov eax, edx
mov dword [esp + 0x58], ebp
shr eax, 0x1f
mov ebp, dword [esp + 0x40]
add eax, edx
imul edx, edi
mov dword [esp + 0x164], esi
mov esi, ebp
add esi, ecx
sar eax, 1
mov dword [esp + 0xf4], esi
mov esi, edi
imul esi, eax
mov dword [esp + 0x44], ebx
mov ebx, ebp
add ebx, edx
mov dword [esp + 0x7c], ebx
mov ebx, ebp
sub ebx, ecx
mov dword [esp + 0xe4], ebx
mov ebx, ebp
sub ebx, esi
mov dword [esp + 0x10c], ebx
mov ebx, ebp
sub ebx, edi
mov dword [esp + 0x2b0], eax
mov eax, ebp
add eax, esi
mov dword [esp + 0x8c], eax
mov eax, ebx
mov dword [esp + 0x134], edi
add eax, esi
mov dword [esp + 0x5c], edx
lea edx, [ebx + edx]
mov dword [esp + 0x74], edx
lea edx, [edi + ebp]
imul edi, dword [esp + 0x2b8]
mov dword [esp + 0x84], eax
mov eax, ebx
add eax, ecx
add ebx, edi
mov dword [esp + 0xb4], eax
mov eax, edx
sub eax, esi
mov dword [esp + 0x94], eax
mov eax, edx
sub eax, ecx
mov dword [esp + 0xd4], eax
mov eax, ebp
mov dword [esp + 0x12c], ebx
mov ebx, ebp
add eax, edi
sub ebx, edi
mov dword [esp + 0x9c], eax
mov dword [esp + 0x124], edx
sub edx, edi
mov eax, dword [esp + 0x58]
mov dword [esp + 0xa4], edx
mov edx, eax
mov dword [esp + 0xdc], ebx
mov ebx, ebp
shl eax, 3
sub ebx, eax
shl edx, 4
mov dword [esp + 0x2a4], edx
mov edx, ebx
add edx, edi
mov dword [esp + 0xec], edx
mov edx, ebx
add edx, esi
mov dword [esp + 0xb0], edx
lea edx, [ebx + ecx]
mov dword [esp + 0x6c], edx
lea edx, [ebp + eax]
add ebx, dword [esp + 0x5c]
mov dword [esp + 0x11c], ebx
mov ebx, edx
sub ebx, edi
mov dword [esp + 0x114], edx
mov dword [esp + 0xbc], ebx
mov ebx, edx
sub edx, ecx
sub ebx, esi
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x134]
mov dword [esp + 0x58], eax
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x48], 0
lea ebx, [edx + eax]
mov eax, ebp
lea ebp, [ebp + ebx]
sub eax, ebx
mov edx, eax
add edx, edi
neg edi
mov dword [esp + 0xcc], edx
mov edx, eax
add edx, esi
neg esi
mov dword [esp + 0x104], edx
lea edx, [eax + ecx]
mov dword [esp + 0x64], edx
neg ecx
mov edx, dword [esp + 0x5c]
add edi, ebp
add edx, eax
add esi, ebp
mov eax, dword [esp + 0x28]
add ecx, ebp
mov dword [esp + 0x174], eax
mov dword [esp + 0x148], ebx
mov dword [esp + 0x140], ebp
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x174]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], edi
cmp dword [esp + 0x158], 0
jle 0x100df27e
mov edx, dword [esp + 0x134]
xor eax, eax
mov esi, edx
imul esi, ebx
mov ecx, dword [esp + 0x40]
lea edx, [edx + esi]
add ecx, esi
mov dword [esp + 0x268], ecx
mov ecx, dword [esp + 0x124]
mov edi, dword [esp + 0x9c]
sub edi, esi
mov dword [esp + 0x2a0], edi
lea edi, [ecx + esi]
mov ecx, dword [esp + 0x12c]
sub ecx, esi
mov dword [esp + 0x294], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x238], edi
mov edi, dword [esp + 0x84]
sub edi, esi
mov dword [esp + 0x290], edi
lea edi, [ecx + esi]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x254], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x244], edi
lea edi, [ecx + esi]
mov dword [esp + 0x248], edi
mov edi, dword [esp + 0x74]
sub edi, esi
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x8c]
mov ecx, dword [esp + 0xb4]
sub edi, esi
mov dword [esp + 0x284], edi
sub ecx, esi
mov dword [esp + 0x28c], ecx
lea ecx, [edx + esi]
mov edx, dword [esp + 0xdc]
mov edi, dword [esp + 0x10c]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x188], eax
lea ecx, [edx + esi]
mov dword [esp + 0x260], ecx
lea edx, [edi + esi]
mov dword [esp + 0x264], edx
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0xe4]
sub edi, esi
mov dword [esp + 0x26c], edi
mov edi, dword [esp + 0xb0]
sub edi, esi
mov dword [esp + 0x278], edi
mov edi, dword [esp + 0x114]
mov ecx, dword [esp + 0xf4]
sub ecx, esi
mov dword [esp + 0x270], ecx
lea ecx, [edx + esi]
mov edx, dword [esp + 0xec]
sub edx, esi
mov dword [esp + 0x274], edx
mov dword [esp + 0x25c], ecx
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x11c]
sub edx, esi
mov dword [esp + 0x27c], edx
sub ecx, esi
mov dword [esp + 0x280], ecx
lea edx, [edi + esi]
mov dword [esp + 0x250], edx
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x17c], esi
mov dword [esp + 0x174], ebx
lea edi, [ecx + esi]
mov dword [esp + 0x24c], edi
lea ecx, [edx + esi]
mov dword [esp + 0x240], ecx
mov edi, dword [esp + 0xc4]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x48], ebp
lea edx, [edi + esi]
mov dword [esp + 0x23c], edx
mov edx, dword [esp + 0xcc]
lea edi, [ecx + esi]
mov dword [esp + 0x234], edi
sub edx, esi
mov edi, dword [esp + 0x140]
mov ecx, dword [esp + 0x104]
sub ecx, esi
mov dword [esp + 0x298], edx
lea edi, [edi + esi]
mov dword [esp + 0x230], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x29c], ecx
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
lea edi, [edi + esi]
mov dword [esp + 0x22c], edi
sub edx, esi
mov edi, dword [esp + 0x50]
sub ecx, esi
mov dword [esp + 0x184], ecx
mov dword [esp + 0x180], edx
lea edi, [edi + esi]
mov dword [esp + 0x228], edi
mov edi, dword [esp + 0x54]
lea edi, [edi + esi]
mov dword [esp + 0x224], edi
mov edi, dword [esp + 0x148]
lea edi, [edi + esi]
mov esi, eax
mov dword [esp + 0x220], edi
mov ecx, dword [esp + 0x268]
lea ebp, [eax*4]
mov edx, dword [esp + 0x238]
mov dword [esp + 0x1a0], 0
add ebp, dword [esp + 0x174]
lea ebx, [ecx + esi]
mov dword [esp + 0x1a8], ebx
mov ebx, esi
neg ebx
lea edi, [edx + esi]
mov edx, dword [esp + 0x294]
mov dword [esp + 0x1b0], edi
mov ecx, dword [esp + 0x2a0]
add ecx, ebx
lea edi, [edx + ebx]
mov edx, dword [esp + 0x290]
mov dword [esp + 0x1b4], edi
mov dword [esp + 0x190], ecx
mov dword [esp + 0x188], esi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x244]
mov dword [esp + 0x1b8], edi
mov dword [esp + 0x178], eax
mov ecx, dword [esp + 0x1a0]
lea edi, [edx + esi]
mov edx, dword [esp + 0x248]
mov dword [esp + 0x1bc], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x28c]
mov dword [esp + 0x1c0], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x288]
mov dword [esp + 0x1c4], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x254]
mov dword [esp + 0x1c8], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x258]
mov dword [esp + 0x1cc], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x284]
mov dword [esp + 0x1d0], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x260]
mov dword [esp + 0x1d4], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x264]
mov dword [esp + 0x1d8], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x270]
mov dword [esp + 0x1dc], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x26c]
mov dword [esp + 0x1e0], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x1e4], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x25c]
mov dword [esp + 0x1e8], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x274]
mov dword [esp + 0x1ec], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x278]
mov dword [esp + 0x1f0], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x27c]
mov dword [esp + 0x1f4], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x280]
mov dword [esp + 0x1f8], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x250]
mov dword [esp + 0x1fc], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x24c]
mov dword [esp + 0x200], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x240]
mov dword [esp + 0x204], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x23c]
mov dword [esp + 0x208], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x234]
mov dword [esp + 0x20c], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x298]
mov dword [esp + 0x210], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x29c]
mov dword [esp + 0x214], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x180]
mov dword [esp + 0x218], edi
lea edi, [edx + ebx]
mov dword [esp + 0x21c], edi
mov edi, dword [esp + 0x22c]
mov edx, dword [esp + 0x230]
add ebx, dword [esp + 0x184]
mov dword [esp + 0x18c], ebx
lea edi, [edi + esi]
mov dword [esp + 0x1ac], edi
lea edx, [edx + esi]
mov edi, dword [esp + 0x228]
mov dword [esp + 0x194], edx
mov edx, dword [esp + 0x2b8]
mov ebx, dword [esp + 0x16c]
lea edi, [edi + esi]
mov dword [esp + 0x1a4], edi
mov edi, dword [esp + 0x224]
lea edi, [edi + esi]
mov dword [esp + 0x19c], edi
mov edi, dword [esp + 0x220]
lea edi, [edi + esi]
mov dword [esp + 0x198], edi
mov eax, ebp
imul eax, ecx
add eax, ebp
cmp eax, edx
jg 0x100def92
mov esi, dword [esp + 0x1e8]
imul esi, ecx
xorps xmm1, xmm1
mov edi, dword [esp + 0x190]
sub edi, esi
mov edi, dword [edi]
mov dword [ebx], edi
mov edi, dword [esp + 0x1a8]
subss xmm1, dword [edi + esi]
jmp 0x100df00e
mov esi, dword [esp + 0x1e8]
imul esi, ecx
cmp eax, dword [esp + 0x2b0]
jg 0x100defca
mov edi, dword [esp + 0x1d8]
xorps xmm1, xmm1
movaps xmm0, xmm1
subss xmm0, dword [edi + esi]
neg esi
add esi, dword [esp + 0x1d4]
movss dword [ebx], xmm0
subss xmm1, dword [esi]
jmp 0x100df00e
cmp eax, dword [esp + 0x164]
jg 0x100deff5
mov edi, dword [esp + 0x1e0]
sub edi, esi
xorps xmm0, xmm0
subss xmm0, dword [edi]
mov edi, dword [esp + 0x1dc]
movss dword [ebx], xmm0
movss xmm1, dword [edi + esi]
jmp 0x100df00e
mov edi, dword [esp + 0x1ec]
mov edi, dword [edi + esi]
neg esi
add esi, dword [esp + 0x1e4]
mov dword [ebx], edi
movss xmm1, dword [esi]
movss dword [ebx + 0x10], xmm1
lea edi, [ecx + eax]
inc edi
cmp edi, edx
jg 0x100df044
mov esi, dword [esp + 0x1cc]
imul esi, ecx
xorps xmm1, xmm1
mov edi, dword [esp + 0x1b4]
sub edi, esi
mov edi, dword [edi]
mov dword [ebx + 4], edi
mov edi, dword [esp + 0x1b0]
subss xmm1, dword [edi + esi]
jmp 0x100df0c3
mov esi, dword [esp + 0x1cc]
imul esi, ecx
cmp edi, dword [esp + 0x2b0]
jg 0x100df07d
mov edi, dword [esp + 0x1bc]
xorps xmm1, xmm1
movaps xmm0, xmm1
subss xmm0, dword [edi + esi]
neg esi
add esi, dword [esp + 0x1b8]
movss dword [ebx + 4], xmm0
subss xmm1, dword [esi]
jmp 0x100df0c3
cmp edi, dword [esp + 0x164]
jg 0x100df0a9
mov edi, dword [esp + 0x1c4]
sub edi, esi
xorps xmm0, xmm0
subss xmm0, dword [edi]
mov edi, dword [esp + 0x1c0]
movss dword [ebx + 4], xmm0
movss xmm1, dword [edi + esi]
jmp 0x100df0c3
mov edi, dword [esp + 0x1d0]
mov edi, dword [edi + esi]
neg esi
add esi, dword [esp + 0x1c8]
mov dword [ebx + 4], edi
movss xmm1, dword [esi]
movss dword [ebx + 0x14], xmm1
lea edi, [ecx + ecx]
add edi, eax
add edi, 2
cmp edi, edx
jg 0x100df0fd
mov esi, dword [esp + 0x210]
imul esi, ecx
xorps xmm1, xmm1
mov edi, dword [esp + 0x1f0]
sub edi, esi
mov edi, dword [edi]
mov dword [ebx + 8], edi
mov edi, dword [esp + 0x200]
subss xmm1, dword [edi + esi]
jmp 0x100df17c
mov esi, dword [esp + 0x210]
imul esi, ecx
cmp edi, dword [esp + 0x2b0]
jg 0x100df136
mov edi, dword [esp + 0x204]
xorps xmm1, xmm1
movaps xmm0, xmm1
subss xmm0, dword [edi + esi]
neg esi
add esi, dword [esp + 0x1f4]
movss dword [ebx + 8], xmm0
subss xmm1, dword [esi]
jmp 0x100df17c
cmp edi, dword [esp + 0x164]
jg 0x100df162
mov edi, dword [esp + 0x1f8]
sub edi, esi
xorps xmm0, xmm0
subss xmm0, dword [edi]
mov edi, dword [esp + 0x208]
movss dword [ebx + 8], xmm0
movss xmm1, dword [edi + esi]
jmp 0x100df17c
mov edi, dword [esp + 0x20c]
mov edi, dword [edi + esi]
neg esi
add esi, dword [esp + 0x1fc]
mov dword [ebx + 8], edi
movss xmm1, dword [esi]
movss dword [ebx + 0x18], xmm1
lea esi, [ecx + ecx]
add esi, ecx
add eax, esi
add eax, 3
cmp eax, edx
jg 0x100df1b8
mov eax, dword [esp + 0x198]
imul eax, ecx
xorps xmm1, xmm1
mov esi, dword [esp + 0x214]
sub esi, eax
mov edi, dword [esi]
mov esi, dword [esp + 0x194]
mov dword [ebx + 0xc], edi
subss xmm1, dword [esi + eax]
jmp 0x100df237
mov esi, dword [esp + 0x198]
imul esi, ecx
cmp eax, dword [esp + 0x2b0]
jg 0x100df1f1
mov eax, dword [esp + 0x1ac]
xorps xmm1, xmm1
movaps xmm0, xmm1
subss xmm0, dword [eax + esi]
neg esi
add esi, dword [esp + 0x218]
movss dword [ebx + 0xc], xmm0
subss xmm1, dword [esi]
jmp 0x100df237
cmp eax, dword [esp + 0x164]
jg 0x100df21d
mov eax, dword [esp + 0x21c]
sub eax, esi
xorps xmm0, xmm0
mov edi, dword [esp + 0x1a4]
subss xmm0, dword [eax]
movss dword [ebx + 0xc], xmm0
movss xmm1, dword [edi + esi]
jmp 0x100df237
mov eax, dword [esp + 0x19c]
mov edi, dword [eax + esi]
neg esi
add esi, dword [esp + 0x18c]
mov dword [ebx + 0xc], edi
movss xmm1, dword [esi]
inc ecx
movss dword [ebx + 0x1c], xmm1
add ebx, 0x20
cmp ecx, 2
jb 0x100def5f
mov esi, dword [esp + 0x188]
mov eax, dword [esp + 0x178]
inc eax
add esi, dword [esp + 0x2a4]
mov dword [esp + 0x16c], ebx
cmp eax, dword [esp + 0x170]
jb 0x100decbf
mov ebx, dword [esp + 0x174]
mov ebp, dword [esp + 0x48]
inc ebp
add ebx, dword [esp + 0x15c]
cmp ebp, dword [esp + 0x160]
jb 0x100dea6b
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x44]
inc eax
shl ebx, 2
cmp eax, dword [esp + 0x34]
jb 0x100de829
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x158]
add ecx, ebp
mov edx, dword [esp + 0x15c]
cmp ecx, edx
jl 0x100de817
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x38]
mov edx, 1
add esi, 0x1f
mov ecx, dword [esp + 0x24]
shl edx, cl
mov ecx, esi
shl edx, 3
cmp edx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x18]
cmovge ebx, edx
mov dword [ebp + 0x18], ebx
mov ebp, 1
shl ebp, cl
shl ebp, 3
add eax, ebp
lea esp, [esp + 0x3ec]
pop ebp
pop ebx
pop edi
pop esi
ret
test ebx, ebx
jle 0x100df29b
mov ecx, edx
lea edi, [edx + edx]
add edi, edx
mov esi, edi
sar ecx, 1
sar esi, 1
shr ecx, 0x1e
shr esi, 0x1e
add ecx, edx
add esi, edi
lea edi, [ebp*4]
sar ecx, 2
mov dword [esp + 0x2b4], ecx
mov ecx, edi
sar esi, 2
imul ecx, esi
mov dword [esp + 0x2c], eax
mov eax, edx
mov dword [esp + 0x58], ebp
shr eax, 0x1f
mov ebp, dword [esp + 0x40]
add eax, edx
imul edx, edi
mov dword [esp + 0x168], esi
mov esi, ebp
add esi, ecx
sar eax, 1
mov dword [esp + 0x108], esi
mov esi, edi
imul esi, eax
mov dword [esp + 0x44], ebx
mov ebx, ebp
add ebx, edx
mov dword [esp + 0x110], ebx
mov ebx, ebp
sub ebx, ecx
mov dword [esp + 0x100], ebx
mov ebx, ebp
sub ebx, esi
mov dword [esp + 0xf0], ebx
mov ebx, ebp
sub ebx, edi
mov dword [esp + 0x3b8], eax
mov eax, ebp
add eax, esi
mov dword [esp + 0xf8], eax
mov eax, ebx
mov dword [esp + 0x138], edi
add eax, esi
mov dword [esp + 0x5c], edx
lea edx, [ebx + edx]
mov dword [esp + 0x78], edx
lea edx, [edi + ebp]
imul edi, dword [esp + 0x2b4]
mov dword [esp + 0xe8], eax
mov eax, ebx
add eax, ecx
add ebx, edi
mov dword [esp + 0xe0], eax
mov eax, edx
sub eax, esi
mov dword [esp + 0xd8], eax
mov eax, edx
sub eax, ecx
mov dword [esp + 0xd0], eax
mov eax, ebp
mov dword [esp + 0x130], ebx
mov ebx, ebp
add eax, edi
sub ebx, edi
mov dword [esp + 0xc8], eax
mov dword [esp + 0x128], edx
sub edx, edi
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc0], edx
mov edx, eax
mov dword [esp + 0xb8], ebx
mov ebx, ebp
shl eax, 3
sub ebx, eax
shl edx, 4
mov dword [esp + 0x2a8], edx
mov edx, ebx
add edx, edi
mov dword [esp + 0xac], edx
mov edx, ebx
add edx, esi
mov dword [esp + 0xa8], edx
lea edx, [ebx + ecx]
mov dword [esp + 0x70], edx
lea edx, [ebp + eax]
add ebx, dword [esp + 0x5c]
mov dword [esp + 0x120], ebx
mov ebx, edx
sub ebx, edi
mov dword [esp + 0x118], edx
mov dword [esp + 0xa0], ebx
mov ebx, edx
sub edx, ecx
sub ebx, esi
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x138]
mov dword [esp + 0x58], eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x60], 0
lea ebx, [edx + eax]
mov eax, ebp
lea ebp, [ebp + ebx]
sub eax, ebx
mov edx, eax
add edx, edi
neg edi
mov dword [esp + 0x88], edx
mov edx, eax
add edx, esi
neg esi
mov dword [esp + 0x80], edx
lea edx, [eax + ecx]
mov dword [esp + 0x68], edx
neg ecx
mov edx, dword [esp + 0x5c]
add edi, ebp
add edx, eax
add esi, ebp
mov eax, dword [esp + 0x28]
add ecx, ebp
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x144], ebx
mov dword [esp + 0x13c], ebp
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], edi
mov dword [esp + 0x5c], edx
cmp dword [esp + 0x158], 0
jle 0x100dfd4a
mov ecx, dword [esp + 0x138]
mov esi, ecx
imul esi, ebx
xor eax, eax
add ecx, esi
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x100]
mov edi, dword [esp + 0x110]
sub edi, esi
mov dword [esp + 0x3a8], edi
lea edi, [ecx + esi]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x354], edi
mov edx, dword [esp + 0x40]
add edx, esi
lea edi, [ecx + esi]
mov dword [esp + 0x35c], edi
mov edi, dword [esp + 0x128]
mov dword [esp + 0x378], edx
mov edx, dword [esp + 0x108]
sub edx, esi
mov dword [esp + 0x3a4], edx
mov edx, dword [esp + 0xf8]
sub edx, esi
mov dword [esp + 0x3a0], edx
mov edx, dword [esp + 0xe8]
sub edx, esi
mov dword [esp + 0x39c], edx
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0xe0]
sub edx, esi
mov dword [esp + 0x384], edx
sub ecx, esi
mov dword [esp + 0x388], ecx
lea edx, [edi + esi]
mov dword [esp + 0x36c], edx
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x2c0], esi
lea edi, [ecx + esi]
mov dword [esp + 0x370], edi
lea ecx, [edx + esi]
mov dword [esp + 0x374], ecx
mov ecx, dword [esp + 0xc0]
mov edi, dword [esp + 0xc8]
mov edx, dword [esp + 0x130]
sub edi, esi
mov dword [esp + 0x380], edi
sub edx, esi
mov dword [esp + 0x37c], edx
lea edi, [ecx + esi]
mov dword [esp + 0x368], edi
mov edx, dword [esp + 0xb8]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x2ac], ebx
mov dword [esp + 0x60], ebp
lea ecx, [edx + esi]
mov dword [esp + 0x364], ecx
lea edx, [edi + esi]
mov dword [esp + 0x360], edx
mov edx, dword [esp + 0xa8]
sub edx, esi
mov dword [esp + 0x390], edx
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x120]
sub ecx, esi
sub edx, esi
mov dword [esp + 0x38c], ecx
mov dword [esp + 0x398], edx
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0x70]
sub edi, esi
mov dword [esp + 0x394], edi
lea edi, [ecx + esi]
mov dword [esp + 0x358], edi
lea ecx, [edx + esi]
mov dword [esp + 0x350], ecx
mov edi, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
lea edx, [edi + esi]
mov dword [esp + 0x34c], edx
mov edx, dword [esp + 0x144]
lea edi, [ecx + esi]
mov dword [esp + 0x348], edi
mov edi, dword [esp + 0x88]
sub edi, esi
lea ecx, [edx + esi]
mov dword [esp + 0x3b0], edi
mov edi, dword [esp + 0x5c]
sub edi, esi
mov dword [esp + 0x3b4], edi
mov edi, dword [esp + 0x13c]
mov dword [esp + 0x344], ecx
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x68]
lea edi, [edi + esi]
mov dword [esp + 0x340], edi
sub edx, esi
mov edi, dword [esp + 0x14c]
sub ecx, esi
mov dword [esp + 0x2c8], ecx
mov dword [esp + 0x2c4], edx
lea edi, [edi + esi]
mov dword [esp + 0x33c], edi
mov edi, dword [esp + 0x150]
lea edi, [edi + esi]
mov dword [esp + 0x338], edi
mov edi, dword [esp + 0x154]
lea edi, [edi + esi]
mov esi, eax
mov dword [esp + 0x334], edi
mov ecx, dword [esp + 0x378]
lea ebp, [eax*4]
mov edx, dword [esp + 0x36c]
mov dword [esp + 0x2e0], 0
add ebp, dword [esp + 0x2ac]
lea ebx, [ecx + esi]
mov dword [esp + 0x3c0], ebx
mov ebx, esi
neg ebx
lea edi, [edx + esi]
mov edx, dword [esp + 0x37c]
mov dword [esp + 0x3c8], edi
mov ecx, dword [esp + 0x380]
add ecx, ebx
lea edi, [edx + ebx]
mov edx, dword [esp + 0x39c]
mov dword [esp + 0x3cc], edi
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x2cc], esi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x368]
mov dword [esp + 0x2e8], edi
mov dword [esp + 0x2bc], eax
mov ecx, dword [esp + 0x2e0]
lea edi, [edx + esi]
mov edx, dword [esp + 0x370]
mov dword [esp + 0x2ec], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x388]
mov dword [esp + 0x2f0], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x384]
mov dword [esp + 0x2f4], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x3ac]
mov dword [esp + 0x2f8], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x374]
mov dword [esp + 0x3d0], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x3a0]
mov dword [esp + 0x2fc], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x364]
mov dword [esp + 0x300], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x35c]
mov dword [esp + 0x304], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x3a4]
mov dword [esp + 0x308], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x3a8]
mov dword [esp + 0x30c], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x2c0]
mov dword [esp + 0x310], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x354]
mov dword [esp + 0x3d4], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x360]
mov dword [esp + 0x314], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x38c]
mov dword [esp + 0x3d8], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x390]
mov dword [esp + 0x3dc], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x394]
mov dword [esp + 0x318], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x398]
mov dword [esp + 0x31c], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x358]
mov dword [esp + 0x320], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x350]
mov dword [esp + 0x3e0], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x34c]
mov dword [esp + 0x324], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x348]
mov dword [esp + 0x328], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x344]
mov dword [esp + 0x32c], edi
lea edi, [edx + esi]
mov edx, dword [esp + 0x3b0]
mov dword [esp + 0x3e4], edi
lea edi, [edx + ebx]
mov edx, dword [esp + 0x2c4]
mov dword [esp + 0x3e8], edi
lea edi, [edx + ebx]
mov dword [esp + 0x330], edi
mov edi, dword [esp + 0x340]
mov edx, dword [esp + 0x2c8]
lea edi, [edi + esi]
mov dword [esp + 0x3c4], edi
mov edi, dword [esp + 0x33c]
lea edx, [edx + ebx]
add ebx, dword [esp + 0x3b4]
mov dword [esp + 0x2d0], ebx
mov dword [esp + 0x2d4], edx
lea edi, [edi + esi]
mov dword [esp + 0x2e4], edi
mov edi, dword [esp + 0x338]
mov edx, dword [esp + 0x2b4]
mov ebx, dword [esp + 0x16c]
lea edi, [edi + esi]
mov dword [esp + 0x2dc], edi
mov edi, dword [esp + 0x334]
lea edi, [edi + esi]
mov dword [esp + 0x2d8], edi
mov eax, ebp
imul eax, ecx
add eax, ebp
cmp eax, edx
jg 0x100dfa47
mov esi, dword [esp + 0x3d4]
imul esi, ecx
xorps xmm1, xmm1
mov edi, dword [esp + 0x3bc]
sub edi, esi
mov edi, dword [edi]
mov dword [ebx], edi
mov edi, dword [esp + 0x3c0]
subss xmm1, dword [edi + esi]
jmp 0x100dfac3
mov esi, dword [esp + 0x3d4]
imul esi, ecx
cmp eax, dword [esp + 0x3b8]
jg 0x100dfa7f
mov edi, dword [esp + 0x304]
xorps xmm1, xmm1
movaps xmm0, xmm1
subss xmm0, dword [edi + esi]
neg esi
add esi, dword [esp + 0x300]
movss dword [ebx], xmm0
subss xmm1, dword [esi]
jmp 0x100dfac3
cmp eax, dword [esp + 0x168]
jg 0x100dfaaa
mov edi, dword [esp + 0x30c]
sub edi, esi
xorps xmm0, xmm0
subss xmm0, dword [edi]
mov edi, dword [esp + 0x308]
movss dword [ebx], xmm0
movss xmm1, dword [edi + esi]
jmp 0x100dfac3
mov edi, dword [esp + 0x314]
mov edi, dword [edi + esi]
neg esi
add esi, dword [esp + 0x310]
mov dword [ebx], edi
movss xmm1, dword [esi]
movss dword [ebx + 0x10], xmm1
lea edi, [ecx + eax]
inc edi
cmp edi, edx
jg 0x100dfaf9
mov esi, dword [esp + 0x3d0]
imul esi, ecx
xorps xmm1, xmm1
mov edi, dword [esp + 0x3cc]
sub edi, esi
mov edi, dword [edi]
mov dword [ebx + 4], edi
mov edi, dword [esp + 0x3c8]
subss xmm1, dword [edi + esi]
jmp 0x100dfb78
mov esi, dword [esp + 0x3d0]
imul esi, ecx
cmp edi, dword [esp + 0x3b8]
jg 0x100dfb32
mov edi, dword [esp + 0x2ec]
xorps xmm1, xmm1
movaps xmm0, xmm1
subss xmm0, dword [edi + esi]
neg esi
add esi, dword [esp + 0x2e8]
movss dword [ebx + 4], xmm0
subss xmm1, dword [esi]
jmp 0x100dfb78
cmp edi, dword [esp + 0x168]
jg 0x100dfb5e
mov edi, dword [esp + 0x2f4]
sub edi, esi
xorps xmm0, xmm0
subss xmm0, dword [edi]
mov edi, dword [esp + 0x2f0]
movss dword [ebx + 4], xmm0
movss xmm1, dword [edi + esi]
jmp 0x100dfb78
mov edi, dword [esp + 0x2fc]
mov edi, dword [edi + esi]
neg esi
add esi, dword [esp + 0x2f8]
mov dword [ebx + 4], edi
movss xmm1, dword [esi]
movss dword [ebx + 0x14], xmm1
lea edi, [ecx + ecx]
add edi, eax
add edi, 2
cmp edi, edx
jg 0x100dfbb2
mov esi, dword [esp + 0x3d8]
imul esi, ecx
xorps xmm1, xmm1
mov edi, dword [esp + 0x3dc]
sub edi, esi
mov edi, dword [edi]
mov dword [ebx + 8], edi
mov edi, dword [esp + 0x3e0]
subss xmm1, dword [edi + esi]
jmp 0x100dfc31
mov esi, dword [esp + 0x3d8]
imul esi, ecx
cmp edi, dword [esp + 0x3b8]
jg 0x100dfbeb
mov edi, dword [esp + 0x324]
xorps xmm1, xmm1
movaps xmm0, xmm1
subss xmm0, dword [edi + esi]
neg esi
add esi, dword [esp + 0x318]
movss dword [ebx + 8], xmm0
subss xmm1, dword [esi]
jmp 0x100dfc31
cmp edi, dword [esp + 0x168]
jg 0x100dfc17
mov edi, dword [esp + 0x31c]
sub edi, esi
xorps xmm0, xmm0
subss xmm0, dword [edi]
mov edi, dword [esp + 0x328]
movss dword [ebx + 8], xmm0
movss xmm1, dword [edi + esi]
jmp 0x100dfc31
mov edi, dword [esp + 0x32c]
mov edi, dword [edi + esi]
neg esi
add esi, dword [esp + 0x320]
mov dword [ebx + 8], edi
movss xmm1, dword [esi]
movss dword [ebx + 0x18], xmm1
lea esi, [ecx + ecx]
add esi, ecx
add eax, esi
add eax, 3
cmp eax, edx
jg 0x100dfc6d
mov eax, dword [esp + 0x3e4]
imul eax, ecx
xorps xmm1, xmm1
mov esi, dword [esp + 0x3e8]
sub esi, eax
mov edi, dword [esi]
mov esi, dword [esp + 0x3c4]
mov dword [ebx + 0xc], edi
subss xmm1, dword [esi + eax]
jmp 0x100dfcec
mov esi, dword [esp + 0x3e4]
imul esi, ecx
cmp eax, dword [esp + 0x3b8]
jg 0x100dfca6
mov eax, dword [esp + 0x2e4]
xorps xmm1, xmm1
movaps xmm0, xmm1
subss xmm0, dword [eax + esi]
neg esi
add esi, dword [esp + 0x330]
movss dword [ebx + 0xc], xmm0
subss xmm1, dword [esi]
jmp 0x100dfcec
cmp eax, dword [esp + 0x168]
jg 0x100dfcd2
mov eax, dword [esp + 0x2d4]
sub eax, esi
xorps xmm0, xmm0
mov edi, dword [esp + 0x2dc]
subss xmm0, dword [eax]
movss dword [ebx + 0xc], xmm0
movss xmm1, dword [edi + esi]
jmp 0x100dfcec
mov eax, dword [esp + 0x2d8]
mov edi, dword [eax + esi]
neg esi
add esi, dword [esp + 0x2d0]
mov dword [ebx + 0xc], edi
movss xmm1, dword [esi]
inc ecx
movss dword [ebx + 0x1c], xmm1
add ebx, 0x20
cmp ecx, 3
jb 0x100dfa14
mov esi, dword [esp + 0x2cc]
mov eax, dword [esp + 0x2bc]
inc eax
add esi, dword [esp + 0x2a8]
mov dword [esp + 0x16c], ebx
cmp eax, dword [esp + 0x170]
jb 0x100df774
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x60]
inc ebp
add ebx, dword [esp + 0x15c]
cmp ebp, dword [esp + 0x44]
jb 0x100df515
jmp 0x100df293
inc ebp
add ebx, dword [esp + 0x15c]
cmp ebp, dword [esp + 0x44]
jb 0x100df515
jmp 0x100df293
push eax
mov dword [ebp + 0x2c], eax
mov eax, dword [esp + 0x410]
push eax
mov edx, ecx
push edx
push ebx
call fcn.100ddac0
lea esp, [esp + 0x10]
mov ecx, ebx
mov edx, 1
shl edx, cl
mov edi, edx
shl edi, 3
add edi, 0x3f
and edi, 0xffffffc0
mov dword [ebp + 0x18], edi
jmp 0x100de775