Function at 0x100312c0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x44
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov eax, dword [ebp + 0x458]
mov esi, dword [ebp + 0x48]
mov ebx, dword [ebp + 0x1c]
mov dword [esp + 0x1c], esi
lea edx, [eax*8]
mov dword [esp + 0x20], ebx
sub edx, eax
test byte [ebp + 4], 2
mov dword [esp + 0x18], edx
movzx eax, word [esi + edx*4 + 4]
jne 0x100313bb
movzx edi, word [esi + edx*4 + 6]
mov ebx, str...___________XXXXXXX_____X________________X____________XXXXXXX_____________________XXXXXXX______XX__________..___________X.....X____X.X______________X.X___________X.....X_____________________X.....X_____X..X______________________XXX.XXX___X...X____________X...X__________X....X_______________________X....X_____X..X_________X______________X.X____X.....X__________X.....X_________X...X_________________________X...X_____X..X_________XX_____________X.X___X.......X________X.......X________X..X.X_______________________X.X..X_____X..X_________X.X____________X.X___XXXX.XXXX________XXXX.XXXX________X.X_X.X_____________________X.X_X.X_____X..XXX_______X..X___________X.X______X.X______________X.X___________XX___X.X___________________X.X___XX_____X..X..XXX____X...X__________X.X______X.X________XX____X.X____XX___________X.X_________________X.X___________X..X..X..XX__X....X_________X.X______X.X_______X.X____X.X____X.X___________X.X_______________X.X____________X..X..X..X.X_X.....X________X.X______X.X______X..X____X.X____X..X___________X.X_____________X.X_________XXX_X..X..X..X..XX......X_______X.X______X.X_____X...XXXXXX.XXXXXX...X___________X.X___XX_XX___X.X__________X..XX........X..XX.......X______X.X______X.X____X.....................X___________X.X_X.X_X.X_X.X___________X...X...........XX........X_____X.X______X.X_____X...XXXXXX.XXXXXX...X_____________X.X..X_X..X.X_____________X..............XX.........X__XXX.XXX____X.X______X..X____X.X____X..X_______________X...X_X...X_______________X.............XX..........X_X.....X____X.X_______X.X____X.X____X.X_______________X....X_X....X______________X.............XX......XXXXX_XXXXXXX____X.X________XX____X.X____XX_______________X.....X_X.....X______________X............XX...X..X________________X.X______________X.X_____________________XXXXXXX_XXXXXXX______________X...........X_X..X_X..X____________XXXX.XXXX________XXXX.XXXX________________________________________________X..........X_X.X__X..X____________X.......X________X.......X____________XX___________XX_____________________X..........X_XX____X..X____________X.....X__________X.....X____________X.X___________X.X_____________________X........X________X..X_____________X...X____________X...X____________X..X___________X..X____________________X........X_________XX_______________X.X______________X.X____________X...XXXXXXXXXXXXX...X___________________XXXXXXXXXX___________________________X________________X____________X.....................X______________________________________________________________________________________X...XXXXXXXXXXXXX...X________________________________________________________________________________________X..X___________X..X__________________________________________________________________________________________X.X___________X.X____________________________________________________________________________________________XX___________XX_____
imul edi, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0x1b
add edi, eax
add edi, dword [ebp + 0x14]
nop dword [eax]
mov esi, ebx
mov ecx, edi
sub esi, edi
mov edx, 0x6c
nop dword [eax + eax]
cmp byte [esi + ecx], 0x2e
lea ecx, [ecx + 1]
setne al
dec al
mov byte [ecx - 1], al
sub edx, 1
jne 0x10031330
mov ecx, dword [ebp + 0x1c]
add ebx, 0x6c
add edi, ecx
sub dword [esp + 0x14], 1
jne 0x10031320
mov eax, dword [esp + 0x18]
mov ebx, str...___________XXXXXXX_____X________________X____________XXXXXXX_____________________XXXXXXX______XX__________..___________X.....X____X.X______________X.X___________X.....X_____________________X.....X_____X..X______________________XXX.XXX___X...X____________X...X__________X....X_______________________X....X_____X..X_________X______________X.X____X.....X__________X.....X_________X...X_________________________X...X_____X..X_________XX_____________X.X___X.......X________X.......X________X..X.X_______________________X.X..X_____X..X_________X.X____________X.X___XXXX.XXXX________XXXX.XXXX________X.X_X.X_____________________X.X_X.X_____X..XXX_______X..X___________X.X______X.X______________X.X___________XX___X.X___________________X.X___XX_____X..X..XXX____X...X__________X.X______X.X________XX____X.X____XX___________X.X_________________X.X___________X..X..X..XX__X....X_________X.X______X.X_______X.X____X.X____X.X___________X.X_______________X.X____________X..X..X..X.X_X.....X________X.X______X.X______X..X____X.X____X..X___________X.X_____________X.X_________XXX_X..X..X..X..XX......X_______X.X______X.X_____X...XXXXXX.XXXXXX...X___________X.X___XX_XX___X.X__________X..XX........X..XX.......X______X.X______X.X____X.....................X___________X.X_X.X_X.X_X.X___________X...X...........XX........X_____X.X______X.X_____X...XXXXXX.XXXXXX...X_____________X.X..X_X..X.X_____________X..............XX.........X__XXX.XXX____X.X______X..X____X.X____X..X_______________X...X_X...X_______________X.............XX..........X_X.....X____X.X_______X.X____X.X____X.X_______________X....X_X....X______________X.............XX......XXXXX_XXXXXXX____X.X________XX____X.X____XX_______________X.....X_X.....X______________X............XX...X..X________________X.X______________X.X_____________________XXXXXXX_XXXXXXX______________X...........X_X..X_X..X____________XXXX.XXXX________XXXX.XXXX________________________________________________X..........X_X.X__X..X____________X.......X________X.......X____________XX___________XX_____________________X..........X_XX____X..X____________X.....X__________X.....X____________X.X___________X.X_____________________X........X________X..X_____________X...X____________X...X____________X..X___________X..X____________________X........X_________XX_______________X.X______________X.X____________X...XXXXXXXXXXXXX...X___________________XXXXXXXXXX___________________________X________________X____________X.....................X______________________________________________________________________________________X...XXXXXXXXXXXXX...X________________________________________________________________________________________X..X___________X..X__________________________________________________________________________________________X.X___________X.X____________________________________________________________________________________________XX___________XX_____
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
add edi, 0x6d
mov dword [esp + 0x14], 0x1b
movzx eax, word [edx + eax*4 + 6]
imul eax, ecx
add eax, dword [ebp + 0x14]
add edi, eax
nop dword [eax]
mov esi, ebx
mov ecx, edi
sub esi, edi
mov edx, 0x6c
nop dword [eax + eax]
cmp byte [esi + ecx], 0x58
lea ecx, [ecx + 1]
setne al
dec al
mov byte [ecx - 1], al
sub edx, 1
jne 0x10031390
add edi, dword [ebp + 0x1c]
add ebx, 0x6c
sub dword [esp + 0x14], 1
jne 0x10031380
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
jmp 0x100313e7
movzx ecx, word [esi + edx*4 + 6]
imul ecx, ebx
add ecx, eax
mov eax, dword [ebp + 0x14]
add eax, ecx
mov byte [eax + ebx + 1], 0xff
mov eax, dword [ebp + 0x14]
add eax, ecx
mov byte [eax + ebx], 0xff
mov eax, dword [ebp + 0x14]
mov byte [eax + ecx + 1], 0xff
mov eax, dword [ebp + 0x14]
mov byte [ecx + eax], 0xff
test byte [ebp + 4], 4
movzx eax, word [esi + edx*4 + 4]
movd xmm1, eax
movzx eax, word [esi + edx*4 + 6]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
addss xmm1, dword [0x100afe7c]
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [ebp + 0x24]
addss xmm0, dword [0x100afe7c]
movss dword [ebp + 0x2c], xmm1
mulss xmm0, dword [ebp + 0x28]
movss dword [ebp + 0x30], xmm0
jne 0x1003158c
mov eax, dword [ebp + 0x45c]
lea edx, [ebp + 0x58]
mov dword [esp + 0x1c], edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [ebp + 0x48]
xor esi, esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], esi
movzx edi, word [eax + ecx*4]
mov ebx, edi
sub ebx, esi
movzx esi, word [eax + ecx*4 + 6]
add esi, dword [esp + 0x14]
imul esi, dword [ebp + 0x1c]
movzx eax, word [eax + ecx*4 + 4]
shr ebx, 1
push ebx
push 0
add esi, eax
add esi, dword [ebp + 0x14]
push esi
call fcn.100744f0
add esp, 0xc
add esi, ebx
push dword [esp + 0x14]
push 0xff
push esi
call fcn.100744f0
mov eax, dword [esp + 0x20]
add esp, 0xc
sub edi, ebx
sub edi, eax
add eax, esi
push edi
push 0
push eax
call fcn.100744f0
mov esi, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [esp + 0x18]
movzx ecx, word [esi + edx*4 + 4]
movzx edx, word [esi + edx*4 + 6]
add ecx, ebx
mov esi, dword [esp + 0x14]
add edx, esi
lea eax, [ecx - 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100b0550]
lea eax, [esi + 1]
inc esi
add eax, ecx
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x18]
cvtpd2ps xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mulss xmm3, dword [ebp + 0x24]
addsd xmm0, qword [eax*8 + 0x100b0550]
lea eax, [edx + 1]
movss dword [esp + 0x44], xmm3
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mulss xmm2, dword [ebp + 0x24]
addsd xmm0, qword [eax*8 + 0x100b0550]
mov eax, dword [esp + 0x1c]
movss dword [esp + 0x4c], xmm2
cvtpd2ps xmm1, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x100b0550]
cvtpd2ps xmm0, xmm0
addss xmm1, xmm0
mulss xmm1, dword [ebp + 0x28]
mulss xmm1, dword [0x100afe7c]
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x50], xmm1
movups xmm0, xmmword [esp + 0x44]
movups xmmword [eax], xmm0
add eax, 0x10
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
cmp esi, 0x40
jb 0x10031454
xor eax, eax
mov dword [esp + 0x18], eax
cmp dword [ebp + 0x40], eax
jle 0x10031795
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov edi, dword [ebp + 0x48]
add edi, ecx
mov ebx, dword [edi + 0x18]
test ebx, ebx
je 0x10031780
mov edx, dword [edi + 8]
mov dword [esp + 0x24], edx
test edx, edx
je 0x10031780
movzx ecx, word [edi + 6]
movzx eax, word [edi + 4]
movzx esi, word [edi]
movzx edx, word [edi + 2]
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
movd xmm0, eax
add eax, esi
mulss xmm2, dword [ebp + 0x28]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x34], xmm2
mulss xmm0, dword [ebp + 0x24]
movd xmm2, eax
lea eax, [edx + ecx]
cvtdq2ps xmm2, xmm2
lea ecx, [ebx + 0x20]
movss dword [esp + 0x30], xmm0
mulss xmm2, dword [ebp + 0x24]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x38], xmm2
movss xmm2, dword [edi + 0x10]
addss xmm0, xmm2
movd xmm1, eax
mov eax, dword [ebx + 0x20]
cvtdq2ps xmm1, xmm1
inc eax
push eax
movss dword [esp + 0x30], xmm2
mulss xmm1, dword [ebp + 0x28]
movss dword [esp + 0x2c], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x40], xmm1
movss xmm1, dword [edi + 0x14]
addss xmm0, xmm1
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x24], xmm0
movss xmm0, dword [edi + 0xc]
movss dword [esp + 0x44], xmm0
call fcn.10033580
mov eax, dword [ebx + 0x20]
mov esi, dword [ebx + 0x28]
movss xmm2, dword [esp + 0x28]
movss xmm3, dword [esp + 0x2c]
movss xmm0, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov ecx, dword [esi + edx*8 - 0x28]
mov eax, dword [esp + 0x24]
and ecx, 0x80000000
movss xmm1, dword [esp + 0x1c]
movzx eax, ax
or ecx, eax
ucomiss xmm3, xmm2
lahf
test ah, 0x44
jnp 0x100316b9
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x100316b9
mov eax, 0x80000000
jmp 0x100316bb
xor eax, eax
movss dword [esi + edx*8 - 0x14], xmm0
and ecx, 0x7fffffff
movss xmm0, dword [esp + 0x30]
or ecx, eax
movss dword [esi + edx*8 - 0x10], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esi + edx*8 - 0xc], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esi + edx*8 - 8], xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esi + edx*8 - 4], xmm0
movss xmm0, dword [esp + 0x40]
movss dword [esi + edx*8 - 0x1c], xmm1
mov dword [esi + edx*8 - 0x28], ecx
movss dword [esi + edx*8 - 0x24], xmm0
movss dword [esi + edx*8 - 0x18], xmm2
movss dword [esi + edx*8 - 0x20], xmm3
mov eax, dword [ebx + 0x30]
movd xmm2, dword [eax + 0x10]
mov byte [ebx + 0x3e], 1
movd xmm0, dword [eax + 0x20]
movss xmm1, dword [esi + edx*8 - 4]
subss xmm1, dword [esi + edx*8 - 0xc]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
mulss xmm1, xmm0
addss xmm2, dword [0x100afeb8]
movss xmm0, dword [esi + edx*8 - 8]
subss xmm0, dword [esi + edx*8 - 0x10]
addss xmm1, xmm2
cvttss2si ecx, xmm1
movd xmm1, dword [eax + 0x1c]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
addss xmm1, xmm2
cvttss2si eax, xmm1
imul ecx, eax
mov eax, dword [esp + 0x18]
add dword [ebx + 0x4c], ecx
mov ecx, dword [esp + 0x14]
inc eax
add ecx, 0x1c
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
cmp eax, dword [ebp + 0x40]
jl 0x100315a1
mov eax, dword [ebp + 0x34]
xor esi, esi
test eax, eax
jle 0x100317b9
nop
mov eax, dword [ebp + 0x3c]
mov ecx, dword [eax + esi*4]
cmp byte [ecx + 0x3e], 0
je 0x100317b1
call fcn.10031a60
mov eax, dword [ebp + 0x34]
inc esi
cmp esi, eax
jl 0x100317a0
xor esi, esi
mov dword [esp + 0x1c], esi
test eax, eax
jle 0x10031847
mov ecx, 0xffff
mov edx, 0x2026
mov ebx, 0x85
mov eax, dword [ebp + 0x3c]
mov esi, dword [eax + esi*4]
cmp word [esi + 0x3c], cx
jne 0x10031839
mov ebx, dword [esi + 0x14]
xor edx, edx
mov dword [esp + 0x20], 0x852026
nop
movzx edi, word [esp + edx*2 + 0x20]
mov ecx, edi
cmp ecx, ebx
jae 0x10031819
mov eax, dword [esi + 0x1c]
movzx eax, word [eax + ecx*2]
mov ecx, 0xffff
cmp ax, cx
je 0x1003181e
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x28]
lea eax, [eax + ecx*8]
test eax, eax
jne 0x10031826
mov ecx, 0xffff
inc edx
cmp edx, 2
jl 0x100317f0
jmp 0x1003182f
mov word [esi + 0x3c], di
mov ecx, 0xffff
mov ebx, 0x85
mov edx, 0x2026
mov esi, dword [esp + 0x1c]
inc esi
mov dword [esp + 0x1c], esi
cmp esi, dword [ebp + 0x34]
jl 0x100317d6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret