Function at 0x101792b0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x348
mov eax, dword [0x10358f40]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push eax
call fcn.1016d0d0
add esp, 4
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 8], 0
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x28], 0
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x24], 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x348]
call fcn.10073050
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], edx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x338]
call fcn.10073050
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], edx
mov ecx, dword [ebp + 0xc]
call fcn.10168280
lea ecx, [ebp - 0x1a0]
call fcn.101459c0
lea ecx, [ebp - 0x220]
call fcn.101459c0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x54]
push edx
lea ecx, [ebp - 0x1a0]
call fcn.1017aa70
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x3c]
push ecx
lea ecx, [ebp - 0x220]
call fcn.10177fe0
lea ecx, [ebp - 0x1a0]
call fcn.1017aab0
push eax
push 0
mov edx, dword [ebp - 0x198]
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x220]
call fcn.10178160
push eax
push 0
mov eax, dword [ebp - 0x218]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x1b8], 0
jmp 0x101793da
mov ecx, dword [ebp - 0x1b8]
add ecx, 1
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1b8]
cmp eax, dword [edx + 0x54]
jge 0x10179657
mov ecx, dword [ebp - 0x1b8]
push ecx
lea ecx, [ebp - 0x1a0]
call fcn.1017a9b0
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp + 0xc]
add edx, 0x54
mov dword [ebp - 0x2b8], edx
mov eax, dword [ebp - 0x1b8]
push eax
mov ecx, dword [ebp - 0x2b8]
call fcn.10147370
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x174]
cmp dword [edx + 0x74], 0
je 0x1017944e
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + 0x74]
call fcn.101480b0
mov edx, dword [ebp - 0x15c]
mov dword [edx + 0x30], 0xffffffff
mov dword [ebp - 0x1bc], 0
jmp 0x10179476
mov eax, dword [ebp - 0x1bc]
add eax, 1
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1bc]
cmp edx, dword [ecx + 0x3c]
jge 0x101794cc
mov eax, dword [ebp - 0x15c]
cmp dword [eax + 0x30], 0xffffffff
jne 0x101794cc
mov ecx, dword [ebp + 0xc]
add ecx, 0x3c
mov dword [ebp - 0x300], ecx
mov edx, dword [ebp - 0x1bc]
push edx
mov ecx, dword [ebp - 0x300]
call fcn.10147290
mov ecx, dword [ebp - 0x174]
mov edx, dword [ecx + 0x74]
cmp edx, dword [eax]
jne 0x101794ca
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x1bc]
mov dword [eax + 0x30], ecx
jmp 0x10179467
mov edx, dword [ebp - 0x15c]
cmp dword [edx + 0x30], 0xffffffff
jne 0x10179500
mov byte [ebp - 0x16d], 0
lea ecx, [ebp - 0x220]
call fcn.10146ee0
lea ecx, [ebp - 0x1a0]
call fcn.10146ee0
mov al, byte [ebp - 0x16d]
jmp 0x1017a795
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x174]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x304]
call fcn.10178370
movzx eax, al
test eax, eax
jne 0x10179549
mov byte [ebp - 0x16e], 0
lea ecx, [ebp - 0x220]
call fcn.10146ee0
lea ecx, [ebp - 0x1a0]
call fcn.10146ee0
mov al, byte [ebp - 0x16e]
jmp 0x1017a795
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx + 0x30]
push edx
lea ecx, [ebp - 0x220]
call fcn.10147330
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x174]
cmp dword [eax + 0x30], 0
je 0x10179581
mov ecx, dword [ebp - 0x174]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x25c], edx
jmp 0x1017958f
mov ecx, dword [ebp + 0xc]
call fcn.10168510
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x25c]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x1c0], eax
jmp 0x101795be
mov ecx, dword [ebp - 0x1c0]
add ecx, 4
mov dword [ebp - 0x1c0], ecx
mov edx, 2
imul eax, edx, 0
mov ecx, dword [ebp - 0x1c0]
movzx edx, word [ecx + eax]
test edx, edx
je 0x1017961a
mov eax, 2
shl eax, 0
mov ecx, dword [ebp - 0x1c0]
movzx edx, word [ecx + eax]
test edx, edx
je 0x1017961a
mov eax, 2
shl eax, 0
mov ecx, dword [ebp - 0x1c0]
movzx edx, word [ecx + eax]
push edx
mov eax, dword [ebp - 0x15c]
mov ecx, dword [eax + 0x34]
push ecx
call fcn.1017a7b0
add esp, 8
mov edx, dword [ebp - 0x15c]
mov dword [edx + 0x34], eax
jmp 0x101795af
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 0x1e0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x15c]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [ebp - 0x1e0]
mov eax, dword [edx + 4]
push eax
call fcn.1017a7b0
add esp, 8
mov ecx, dword [ebp - 0x1e0]
mov dword [ecx + 4], eax
jmp 0x101793cb
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1e4], 0
jmp 0x1017967c
mov edx, dword [ebp - 0x1e4]
add edx, 1
mov dword [ebp - 0x1e4], edx
mov eax, dword [ebp - 0x1e4]
cmp eax, dword [ebp - 0x1a0]
jge 0x101798a6
mov ecx, dword [ebp - 0x1e4]
push ecx
lea ecx, [ebp - 0x1a0]
call fcn.1017a9b0
mov dword [ebp - 0x164], eax
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x30]
push eax
lea ecx, [ebp - 0x220]
call fcn.10147330
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x164]
add ecx, 0x3c
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x34]
add eax, 1
push eax
mov ecx, dword [ebp - 0x318]
call fcn.10177920
nop
mov ecx, dword [ebp - 0x178]
add ecx, 0xc
call fcn.10148800
movzx ecx, al
test ecx, ecx
je 0x10179726
mov edx, dword [ebp - 0x178]
add edx, 0xc
mov dword [ebp - 0x31c], edx
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax + 4]
add ecx, 1
push ecx
mov ecx, dword [ebp - 0x31c]
call fcn.10177920
nop
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x18c], eax
jmp 0x10179746
mov ecx, dword [ebp - 0x18c]
add ecx, 4
mov dword [ebp - 0x18c], ecx
mov edx, 2
imul eax, edx, 0
mov ecx, dword [ebp - 0x18c]
movzx edx, word [ecx + eax]
test edx, edx
je 0x101798a1
mov eax, 2
shl eax, 0
mov ecx, dword [ebp - 0x18c]
movzx edx, word [ecx + eax]
test edx, edx
je 0x101798a1
mov eax, 2
imul ecx, eax, 0
mov edx, dword [ebp - 0x18c]
movzx eax, word [edx + ecx]
mov dword [ebp - 0x17c], eax
jmp 0x101797a3
mov ecx, dword [ebp - 0x17c]
add ecx, 1
mov dword [ebp - 0x17c], ecx
mov edx, 2
shl edx, 0
mov eax, dword [ebp - 0x18c]
movzx ecx, word [eax + edx]
cmp dword [ebp - 0x17c], ecx
jg 0x1017989c
mov edx, dword [ebp - 0x178]
add edx, 0xc
mov dword [ebp - 0x2fc], edx
mov eax, dword [ebp - 0x17c]
push eax
mov ecx, dword [ebp - 0x2fc]
call fcn.101777c0
movzx ecx, al
test ecx, ecx
je 0x101797eb
jmp 0x10179794
mov edx, dword [ebp - 0x17c]
push edx
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.1023b010
add esp, 8
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0
jne 0x10179818
jmp 0x10179794
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x38]
add eax, 1
mov ecx, dword [ebp - 0x164]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x178]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp - 0x178]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x164]
add edx, 0x3c
mov dword [ebp - 0x280], edx
push 1
mov eax, dword [ebp - 0x17c]
push eax
mov ecx, dword [ebp - 0x280]
call fcn.10177970
mov ecx, dword [ebp - 0x178]
add ecx, 0xc
mov dword [ebp - 0x284], ecx
push 1
mov edx, dword [ebp - 0x17c]
push edx
mov ecx, dword [ebp - 0x284]
call fcn.10177970
mov eax, dword [ebp - 0x1f0]
add eax, 1
mov dword [ebp - 0x1f0], eax
jmp 0x10179794
jmp 0x10179737
jmp 0x1017966d
mov dword [ebp - 0x1e8], 0
jmp 0x101798c1
mov ecx, dword [ebp - 0x1e8]
add ecx, 1
mov dword [ebp - 0x1e8], ecx
mov edx, dword [ebp - 0x1e8]
cmp edx, dword [ebp - 0x1a0]
jge 0x10179a2e
mov eax, dword [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.1017a9b0
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
add ecx, 0x48
mov dword [ebp - 0x288], ecx
mov edx, dword [ebp - 0x190]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp - 0x288]
call fcn.10177d00
mov ecx, dword [ebp - 0x190]
add ecx, 0x3c
call fcn.100f8ff0
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x190]
add ecx, 0x3c
call fcn.10177a80
mov dword [ebp - 0x28c], eax
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x1c4], ecx
jmp 0x10179954
mov edx, dword [ebp - 0x1c4]
add edx, 4
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x28c]
jae 0x10179a1a
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ecx]
mov dword [ebp - 0x260], edx
cmp dword [ebp - 0x260], 0
je 0x10179a15
mov dword [ebp - 0x1a4], 0
jmp 0x1017999c
mov eax, dword [ebp - 0x1a4]
add eax, 1
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0x20
jge 0x10179a15
mov edx, 1
mov ecx, dword [ebp - 0x1a4]
shl edx, cl
and edx, dword [ebp - 0x260]
je 0x10179a10
push 0x1c
push 0
lea eax, [ebp - 0x120]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x1c4]
sub ecx, dword [ebp - 0x264]
sar ecx, 2
shl ecx, 5
add ecx, dword [ebp - 0x1a4]
movzx edx, cx
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x190]
add eax, 0x48
mov dword [ebp - 0x290], eax
lea ecx, [ebp - 0x120]
push ecx
mov ecx, dword [ebp - 0x290]
call fcn.10177b70
nop
jmp 0x1017998d
jmp 0x10179945
mov ecx, dword [ebp - 0x190]
add ecx, 0x3c
call fcn.101478a0
nop
jmp 0x101798b2
mov dword [ebp - 0x1ec], 0
jmp 0x10179a49
mov edx, dword [ebp - 0x1ec]
add edx, 1
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0x1ec]
cmp eax, dword [ebp - 0x220]
jge 0x10179a76
mov ecx, dword [ebp - 0x1ec]
push ecx
lea ecx, [ebp - 0x220]
call fcn.10147330
add eax, 0xc
mov ecx, eax
call fcn.101478a0
nop
jmp 0x10179a3a
lea ecx, [ebp - 0x220]
call fcn.101487c0
lea ecx, [ebp - 0x314]
call fcn.101459c0
mov edx, dword [ebp - 0x1f0]
push edx
lea ecx, [ebp - 0x314]
call fcn.101780e0
lea ecx, [ebp - 0x314]
call fcn.101781a0
push eax
push 0
mov eax, dword [ebp - 0x30c]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x32c], 0x40000
mov dword [ebp - 0x1ac], 0
lea ecx, [ebp - 0x278]
call fcn.101459c0
nop
push 0x40000
call fcn.10130810
add esp, 4
mov dword [ebp - 0x294], eax
lea ecx, [ebp - 0x294]
push ecx
lea ecx, [ebp - 0x278]
call fcn.10148c30
nop
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1a8], 0
jmp 0x10179b30
mov edx, dword [ebp - 0x1a8]
add edx, 1
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x1a8]
cmp eax, dword [ebp - 0x1a0]
jge 0x10179e7f
mov ecx, dword [ebp - 0x1a8]
push ecx
lea ecx, [ebp - 0x1a0]
call fcn.1017a9b0
mov dword [ebp - 0x154], eax
mov edx, dword [ebp + 0xc]
add edx, 0x54
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0x298]
call fcn.10147370
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x154]
cmp dword [ecx + 0x38], 0
jne 0x10179b8c
jmp 0x10179b21
mov edx, dword [ebp - 0x1f4]
push edx
lea ecx, [ebp - 0x314]
call fcn.10177710
mov ecx, dword [ebp - 0x154]
mov dword [ecx + 0x28], eax
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x1f4]
add eax, dword [edx + 0x38]
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x268]
movss xmm0, dword [ecx + 0x44]
ucomiss xmm0, dword [0x10291e24]
lahf
test ah, 0x44
jnp 0x10179bdd
mov byte [ebp - 0x155], 1
jmp 0x10179be4
mov byte [ebp - 0x155], 0
mov dl, byte [ebp - 0x155]
mov byte [ebp - 0x156], dl
movzx eax, byte [ebp - 0x156]
test eax, eax
je 0x10179c1b
mov ecx, dword [ebp - 0x268]
push ecx
movss xmm0, dword [ecx + 0x44]
movss dword [esp], xmm0
lea edx, [ebp - 0x104]
push edx
call fcn.1016d5e0
add esp, 8
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x22c], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x14]
mov ecx, dword [edx + 0x18]
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x168], 0
jmp 0x10179c57
mov edx, dword [ebp - 0x168]
add edx, 1
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x168]
cmp ecx, dword [eax + 0x48]
jge 0x10179e7a
mov edx, dword [ebp - 0x154]
add edx, 0x48
mov dword [ebp - 0x29c], edx
mov eax, dword [ebp - 0x168]
push eax
mov ecx, dword [ebp - 0x29c]
call fcn.101472d0
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x2a0], ecx
mov edx, dword [ebp - 0x160]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x2a0]
call fcn.10178630
mov dword [ebp - 0x2a4], eax
cmp dword [ebp - 0x2a4], 0
jne 0x10179cc5
jmp 0x10179c48
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x2a8], ecx
mov edx, dword [ebp - 0x160]
push edx
mov ecx, dword [ebp - 0x2a8]
call fcn.101786d0
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x160]
mov edx, dword [eax]
imul edx, dword [ecx + 4]
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x1ac]
add eax, dword [ebp - 0x26c]
cmp eax, 0x40000
jle 0x10179d44
mov dword [ebp - 0x1ac], 0
push 0x40000
call fcn.10130810
add esp, 4
mov dword [ebp - 0x2ac], eax
lea ecx, [ebp - 0x2ac]
push ecx
lea ecx, [ebp - 0x278]
call fcn.10148c30
nop
lea ecx, [ebp - 0x278]
call fcn.10148630
mov edx, dword [eax]
add edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x160]
mov dword [eax + 0x18], edx
mov ecx, dword [ebp - 0x1ac]
add ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x1ac], ecx
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x2b4], edx
movzx eax, byte [ebp - 0x156]
test eax, eax
je 0x10179d97
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x228], ecx
jmp 0x10179da1
mov dword [ebp - 0x228], 0
mov edx, dword [ebp - 0x228]
push edx
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x160]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0x2b0]
push ecx
mov ecx, dword [ebp - 0x2b4]
call fcn.10178780
mov edx, dword [ebp - 0x160]
mov eax, dword [edx]
add eax, dword [ebp - 0x22c]
cvtsi2ss xmm0, eax
addss xmm0, dword [ebp - 0x2f8]
cvttss2si ecx, xmm0
mov edx, dword [ebp - 0x168]
shl edx, 4
mov eax, dword [ebp - 0x154]
mov eax, dword [eax + 0x28]
mov word [eax + edx + 4], cx
mov ecx, dword [ebp - 0x160]
mov edx, dword [ecx + 4]
add edx, dword [ebp - 0x22c]
cvtsi2ss xmm0, edx
addss xmm0, dword [ebp - 0x2f4]
cvttss2si eax, xmm0
mov ecx, dword [ebp - 0x168]
shl ecx, 4
mov edx, dword [ebp - 0x154]
mov edx, dword [edx + 0x28]
mov word [edx + ecx + 6], ax
mov eax, dword [ebp - 0x168]
shl eax, 4
mov ecx, dword [ebp - 0x154]
mov edx, dword [ecx + 0x28]
movzx eax, word [edx + eax + 4]
mov ecx, dword [ebp - 0x168]
shl ecx, 4
mov edx, dword [ebp - 0x154]
mov edx, dword [edx + 0x28]
movzx ecx, word [edx + ecx + 6]
imul eax, ecx
add eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x1f8], eax
jmp 0x10179c48
jmp 0x10179b21
cvtsi2ss xmm0, dword [ebp - 0x1f8]
push ecx
movss dword [esp], xmm0
call fcn.10178350
add esp, 4
fstp dword [ebp - 0x2f0]
movss xmm0, dword [ebp - 0x2f0]
cvttss2si edx, xmm0
add edx, 1
mov dword [ebp - 0x210], edx
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x28], 0
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0xc], 0
jle 0x10179ed4
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [edx + 0x24], ecx
jmp 0x10179f59
cvtsi2ss xmm0, dword [ebp - 0x210]
comiss xmm0, dword [0x102c6f94]
jb 0x10179ef1
mov dword [ebp - 0x238], 0x1000
jmp 0x10179f4d
cvtsi2ss xmm0, dword [ebp - 0x210]
comiss xmm0, dword [0x102c6f90]
jb 0x10179f0e
mov dword [ebp - 0x234], 0x800
jmp 0x10179f41
cvtsi2ss xmm0, dword [ebp - 0x210]
comiss xmm0, dword [0x102c6f8c]
jb 0x10179f2b
mov dword [ebp - 0x230], 0x400
jmp 0x10179f35
mov dword [ebp - 0x230], 0x200
mov edx, dword [ebp - 0x230]
mov dword [ebp - 0x234], edx
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x238]
mov dword [ecx + 0x24], edx
mov dword [ebp - 0x330], 0x8000
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 0x24]
sub edx, dword [ecx + 0x10]
mov dword [ebp - 0x2bc], edx
lea ecx, [ebp - 0x328]
call fcn.101459c0
mov eax, dword [ebp - 0x2bc]
push eax
lea ecx, [ebp - 0x328]
call fcn.10149440
mov ecx, dword [ebp - 0x328]
push ecx
mov edx, dword [ebp - 0x320]
push edx
push 0x8000
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x24]
push ecx
lea edx, [ebp - 0x150]
push edx
call fcn.10178b90
add esp, 0x14
lea eax, [ebp - 0x150]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.1016d1b0
add esp, 8
mov dword [ebp - 0x1c8], 0
jmp 0x10179fe9
mov edx, dword [ebp - 0x1c8]
add edx, 1
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1c8]
cmp eax, dword [ebp - 0x1a0]
jge 0x1017a0d9
mov ecx, dword [ebp - 0x1c8]
push ecx
lea ecx, [ebp - 0x1a0]
call fcn.1017a9b0
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0x180]
cmp dword [edx + 0x38], 0
jne 0x1017a021
jmp 0x10179fda
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax + 0x38]
push ecx
mov edx, dword [ebp - 0x180]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x150]
push ecx
call fcn.101789a0
add esp, 0xc
mov dword [ebp - 0x194], 0
jmp 0x1017a05f
mov edx, dword [ebp - 0x194]
add edx, 1
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x194]
cmp ecx, dword [eax + 0x38]
jge 0x1017a0d4
mov edx, dword [ebp - 0x194]
shl edx, 4
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax + 0x28]
cmp dword [ecx + edx + 0xc], 0
je 0x1017a0cf
mov edx, dword [ebp - 0x194]
shl edx, 4
mov eax, dword [ebp - 0x180]
mov ecx, dword [eax + 0x28]
movzx edx, word [ecx + edx + 0xa]
mov eax, dword [ebp - 0x194]
shl eax, 4
mov ecx, dword [ebp - 0x180]
mov ecx, dword [ecx + 0x28]
movzx eax, word [ecx + eax + 6]
add edx, eax
push edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x28]
push edx
call fcn.1017a7b0
add esp, 8
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x28], eax
jmp 0x1017a050
jmp 0x10179fda
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
and eax, 1
je 0x1017a0f5
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x28]
add edx, 1
mov dword [ebp - 0x23c], edx
jmp 0x1017a10a
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.101782f0
add esp, 4
mov dword [ebp - 0x23c], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x23c]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp + 0xc]
cvtsi2ss xmm0, dword [ecx + 0x28]
movss xmm1, dword [0x10291e24]
divss xmm1, xmm0
push ecx
movss dword [esp], xmm1
mov edx, dword [ebp + 0xc]
cvtsi2ss xmm0, dword [edx + 0x24]
movss xmm1, dword [0x10291e24]
divss xmm1, xmm0
push ecx
movss dword [esp], xmm1
lea ecx, [ebp - 0x340]
call fcn.10073050
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x24]
imul eax, dword [edx + 0x28]
push eax
call fcn.10130810
add esp, 4
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [edx + 0x24]
imul ecx, dword [eax + 0x28]
push ecx
push 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x1c]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x1b0], 0
jmp 0x1017a1b9
mov ecx, dword [ebp - 0x1b0]
add ecx, 1
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x1b0]
cmp edx, dword [ebp - 0x1a0]
jge 0x1017a6ac
mov eax, dword [ebp - 0x1b0]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.1017a9b0
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0x188]
cmp dword [ecx + 0x38], 0
jne 0x1017a1f1
jmp 0x1017a1aa
mov edx, dword [ebp + 0xc]
add edx, 0x54
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x1b0]
push eax
mov ecx, dword [ebp - 0x2c0]
call fcn.10147370
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x184]
mov edx, dword [ecx + 0x74]
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x188]
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x2c8], xmm0
mov ecx, dword [ebp - 0x188]
movss xmm0, dword [ecx + 8]
movss dword [ebp - 0x2c4], xmm0
push ecx
movss xmm0, dword [ebp - 0x2c4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2c8]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x184]
push edx
mov eax, dword [ebp - 0x214]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.1016d140
add esp, 0x14
mov edx, dword [ebp - 0x184]
movss xmm0, dword [edx + 0x28]
movss dword [ebp - 0x2d0], xmm0
mov eax, dword [ebp - 0x214]
movss xmm0, dword [eax + 0x4c]
addss xmm0, dword [0x10291c28]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, ecx
mov edx, dword [ebp - 0x184]
addss xmm0, dword [edx + 0x2c]
movss dword [ebp - 0x2d4], xmm0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x244], ecx
mov dword [ebp - 0x1b4], 0
jmp 0x1017a2e8
mov edx, dword [ebp - 0x1b4]
add edx, 1
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x1b4]
cmp ecx, dword [eax + 0x38]
jge 0x1017a69a
mov edx, dword [ebp - 0x188]
add edx, 0x48
mov dword [ebp - 0x2cc], edx
mov eax, dword [ebp - 0x1b4]
push eax
mov ecx, dword [ebp - 0x2cc]
call fcn.101472d0
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1b4]
shl ecx, 4
mov edx, dword [ebp - 0x188]
add ecx, dword [edx + 0x28]
mov dword [ebp - 0x240], ecx
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x240]
movzx edx, word [ecx + 8]
add edx, dword [ebp - 0x244]
mov dword [ebp - 0x20c], edx
mov eax, dword [ebp - 0x240]
movzx ecx, word [eax + 0xa]
add ecx, dword [ebp - 0x244]
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x1d4]
mov eax, dword [edx]
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x224]
imul edx, dword [ebp - 0x248]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x1c]
add ecx, edx
add ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x1fc], eax
jmp 0x1017a402
mov ecx, dword [ebp - 0x1fc]
sub ecx, 1
mov dword [ebp - 0x1fc], ecx
mov edx, dword [ebp - 0x204]
add edx, dword [ebp - 0x248]
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x200]
add eax, dword [ebp - 0x24c]
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x1fc], 0
jle 0x1017a42a
mov ecx, dword [ebp - 0x24c]
push ecx
mov edx, dword [ebp - 0x200]
push edx
mov eax, dword [ebp - 0x204]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x1017a3cf
mov ecx, dword [ebp - 0x16c]
movss xmm0, dword [ecx + 0x10]
movss dword [ebp - 0x1cc], xmm0
mov edx, dword [ebp - 0x184]
push ecx
movss xmm0, dword [edx + 0x38]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x184]
push ecx
movss xmm0, dword [eax + 0x34]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x1cc]
movss dword [esp], xmm0
call fcn.1017a7e0
add esp, 0xc
fstp dword [ebp - 0x1d0]
movss xmm0, dword [ebp - 0x2d0]
movss dword [ebp - 0x208], xmm0
movss xmm0, dword [ebp - 0x1cc]
ucomiss xmm0, dword [ebp - 0x1d0]
lahf
test ah, 0x44
jnp 0x1017a510
mov ecx, dword [ebp - 0x184]
movzx edx, byte [ecx + 0x1c]
test edx, edx
je 0x1017a4d8
movss xmm0, dword [ebp - 0x1d0]
subss xmm0, dword [ebp - 0x1cc]
mulss xmm0, dword [0x10291c28]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [ebp - 0x250], xmm0
jmp 0x1017a4f8
movss xmm0, dword [ebp - 0x1d0]
subss xmm0, dword [ebp - 0x1cc]
mulss xmm0, dword [0x10291c28]
movss dword [ebp - 0x250], xmm0
movss xmm0, dword [ebp - 0x208]
addss xmm0, dword [ebp - 0x250]
movss dword [ebp - 0x208], xmm0
mov ecx, dword [ebp - 0x16c]
cvtsi2ss xmm0, dword [ecx + 8]
addss xmm0, dword [ebp - 0x208]
movss dword [ebp - 0x258], xmm0
mov edx, dword [ebp - 0x16c]
cvtsi2ss xmm0, dword [edx + 0xc]
addss xmm0, dword [ebp - 0x2d4]
movss dword [ebp - 0x254], xmm0
mov eax, dword [ebp - 0x16c]
cvtsi2ss xmm0, dword [eax]
addss xmm0, dword [ebp - 0x258]
movss dword [ebp - 0x2ec], xmm0
mov ecx, dword [ebp - 0x16c]
cvtsi2ss xmm0, dword [ecx + 4]
addss xmm0, dword [ebp - 0x254]
movss dword [ebp - 0x2e8], xmm0
cvtsi2ss xmm0, dword [ebp - 0x20c]
mov edx, dword [ebp + 0xc]
cvtsi2ss xmm1, dword [edx + 0x24]
divss xmm0, xmm1
movss dword [ebp - 0x2e4], xmm0
cvtsi2ss xmm0, dword [ebp - 0x224]
mov eax, dword [ebp + 0xc]
cvtsi2ss xmm1, dword [eax + 0x28]
divss xmm0, xmm1
movss dword [ebp - 0x2e0], xmm0
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x20c]
add edx, dword [ecx]
cvtsi2ss xmm0, edx
mov eax, dword [ebp + 0xc]
cvtsi2ss xmm1, dword [eax + 0x24]
divss xmm0, xmm1
movss dword [ebp - 0x2dc], xmm0
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x224]
add edx, dword [ecx + 4]
cvtsi2ss xmm0, edx
mov eax, dword [ebp + 0xc]
cvtsi2ss xmm1, dword [eax + 0x28]
divss xmm0, xmm1
movss dword [ebp - 0x2d8], xmm0
push ecx
movss xmm0, dword [ebp - 0x1d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2d8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2dc]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2e0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2e4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2e8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2ec]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x254]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x258]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x1d4]
movzx edx, word [ecx + 0x14]
push edx
mov ecx, dword [ebp - 0x214]
call fcn.10169f60
nop
jmp 0x1017a2d9
mov eax, dword [ebp - 0x188]
mov dword [eax + 0x28], 0
jmp 0x1017a1aa
mov dword [ebp - 0x1d8], 0
jmp 0x1017a6c7
mov ecx, dword [ebp - 0x1d8]
add ecx, 1
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x1d8]
cmp edx, dword [ebp - 0x278]
jge 0x1017a6f4
mov eax, dword [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x278]
call fcn.10147290
mov ecx, dword [eax]
push ecx
call fcn.10130860
add esp, 4
jmp 0x1017a6b8
mov dword [ebp - 0x1dc], 0
jmp 0x1017a70f
mov edx, dword [ebp - 0x1dc]
add edx, 1
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1dc]
cmp eax, dword [ebp - 0x1a0]
jge 0x1017a745
mov ecx, dword [ebp - 0x1dc]
push ecx
lea ecx, [ebp - 0x1a0]
call fcn.1017a9b0
mov dword [ebp - 0x308], eax
push 0
mov ecx, dword [ebp - 0x308]
call fcn.1017a9d0
nop
jmp 0x1017a700
mov edx, dword [ebp + 0xc]
push edx
call fcn.1016d3a0
add esp, 4
mov byte [ebp - 0x16f], 1
lea ecx, [ebp - 0x328]
call fcn.10146ee0
lea ecx, [ebp - 0x278]
call fcn.10146ee0
lea ecx, [ebp - 0x314]
call fcn.10146ee0
lea ecx, [ebp - 0x220]
call fcn.10146ee0
lea ecx, [ebp - 0x1a0]
call fcn.10146ee0
mov al, byte [ebp - 0x16f]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.102390e8
mov esp, ebp
pop ebp
ret