Function at 0x102bfabc
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1034d350
mov eax, dword fs:[0]
push eax
sub esp, 0x450
mov eax, dword [0x10396464]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
mov ecx, 0x10432a78
call fcn.1011b53f
xorps xmm0, xmm0
movss dword [ebp - 0x24], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x20], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x30], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x28], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x3c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x38], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x34], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x48], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x44], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x40], xmm0
push 0x54
push 0
lea eax, [ebp - 0xa0]
push eax
call fcn.10119ffa
add esp, 0xc
lea ecx, [ebp - 0xa0]
call fcn.101199bf
cmp dword [ebp + 8], 0
je 0x102bf7e8
cmp dword [0x1040e6c0], 0
jne 0x102bf7ed
jmp 0x102c103d
xor eax, eax
mov byte [ebp - 0x25d], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0xe8], 0x11ab48ff
mov dword [ebp - 0x2c4], 0x11ab48ff
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x2cc], eax
mov ecx, dword [0x1042c7f4]
mov edx, dword fs:[0x2c]
mov eax, dword [edx + ecx*4]
mov ecx, dword [0x1040f374]
cmp ecx, dword [eax + 0x104]
jle 0x102bf8e8
push 0x1040f374
call fcn.10119c8f
add esp, 4
cmp dword [0x1040f374], 0xffffffff
jne 0x102bf8e8
mov dword [ebp - 4], 0
xor edx, edx
mov byte [ebp - 0x325], dl
xor eax, eax
mov byte [ebp - 0x326], al
mov dword [ebp - 0xec], 0xda7d68cb
mov dword [ebp - 0x424], 0xda7d68cb
mov dword [ebp - 0xf0], 0x990704d7
push 0x990704d7
lea ecx, [ebp - 0x334]
push ecx
call fcn.102bc0e0
add esp, 8
mov dword [ebp - 0x428], eax
mov edx, dword [ebp - 0x424]
push edx
mov eax, dword [ebp - 0x428]
push eax
push 0x1040f370
call fcn.102bace0
add esp, 0xc
push 0x1011a356
call fcn.1011b5ad
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x1040f374
call fcn.1011a72a
add esp, 4
cmp dword [0x1040f370], 0
je 0x102bf8ff
mov ecx, dword [0x1040f370]
mov dword [ebp - 0x42c], ecx
jmp 0x102bf909
mov dword [ebp - 0x42c], 0
call dword [ebp - 0x42c]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x2c8], 0
je 0x102bf930
cmp dword [ebp - 0x2c4], 0
je 0x102bf930
cmp dword [ebp - 0x108], 0
jne 0x102bf93f
mov dword [ebp - 0x2cc], 0
jmp 0x102bfa79
mov edx, dword [ebp - 0x2c8]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x104], eax
jmp 0x102bf95f
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x104], edx
cmp dword [ebp - 0x104], 0
je 0x102bfa6f
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax]
and ecx, 0xffffff
push ecx
mov ecx, dword [ebp - 0x108]
call dword [ebp - 0x430]
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
je 0x102bfa6a
mov dword [ebp - 0xf8], 0x811c9dc5
mov dword [ebp - 0xf4], 0
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0x10c]
add eax, dword [ebp - 0xf4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x102bf9e3
jmp 0x102bf9bf
xor edx, edx
je 0x102bf9f6
mov eax, dword [ebp - 0xf4]
add eax, 1
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x100], 0
jmp 0x102bfa1d
mov edx, dword [ebp - 0x100]
add edx, 1
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
cmp eax, dword [ebp - 0xfc]
jae 0x102bfa4e
mov ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0x100]
movsx edx, byte [ecx]
xor edx, dword [ebp - 0xf8]
imul eax, edx, 0x1000193
mov dword [ebp - 0xf8], eax
jmp 0x102bfa0e
mov ecx, dword [ebp - 0xf8]
cmp ecx, dword [ebp - 0x2c4]
jne 0x102bfa6a
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x2cc], edx
jmp 0x102bfa79
jmp 0x102bf950
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x2cc]
movsx ecx, byte [eax + 0x10]
mov dword [ebp - 0x434], ecx
mov edx, dword [ebp - 0x434]
sub edx, 1
mov dword [ebp - 0x434], edx
cmp dword [ebp - 0x434], 6
ja case.0x102bfab5.1
mov eax, dword [ebp - 0x434]
jmp dword [eax*4 + 0x102c105c]
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.ucrtbased.dll_atoi]
add esp, 4
mov dword [ebp - 0x114], eax
jmp 0x102bfb5e
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.ucrtbased.dll__wtoi]
add esp, 4
mov dword [ebp - 0x114], eax
jmp 0x102bfb5e
mov edx, dword [ebp - 0x2cc]
movss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x110], xmm0
cvtss2sd xmm0, dword [ebp - 0x110]
sub esp, 8
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbased.dll_floor]
add esp, 8
fstp dword [ebp - 0x438]
fld dword [ebp - 0x438]
fstp dword [ebp - 0x338]
cvttss2si eax, dword [ebp - 0x338]
mov dword [ebp - 0x114], eax
jmp 0x102bfb5e
mov dword [ebp - 0x114], 0
jmp 0x102bfb5e
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x114], edx
cmp dword [ebp - 0x114], 0
je 0x102bfb75
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x43c], eax
jmp 0x102bfb7f
mov dword [ebp - 0x43c], 0
mov ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x2d0], ecx
mov edx, dword [0x104116c8]
mov dword [ebp - 0x11c], edx
lea eax, [ebp - 0x34c]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x11c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x440], eax
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ecx]
mov dword [ebp - 0x348], edx
mov eax, 9
shl eax, 2
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x444]
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x2d0]
push edx
mov ecx, dword [ebp - 0x11c]
call dword [ebp - 0x448]
mov dword [ebp - 0x18], eax
mov eax, dword [0x104116c8]
mov dword [ebp - 0x124], eax
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x124]
mov dword [edx], eax
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x358]
mov eax, dword [edx]
mov dword [ebp - 0x354], eax
mov ecx, 0xc
shl ecx, 2
mov edx, dword [ebp - 0x354]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x350]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x428]
mov dword [ebp - 0x42c], edx
mov ecx, dword [ebp - 0x124]
call dword [ebp - 0x42c]
cmp dword [ebp - 0x18], eax
je 0x102bfc94
jmp 0x102c103d
xor eax, eax
mov byte [ebp - 0x26f], al
xor ecx, ecx
mov byte [ebp - 0x26e], cl
xor edx, edx
mov byte [ebp - 0x26d], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x128], 0xfd0c5087
mov dword [ebp - 0x2ec], 0xfd0c5087
mov edx, dword [ebp - 0x35c]
mov dword [ebp - 0x2f4], edx
mov eax, dword [0x1042c7f4]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x1040f374]
cmp eax, dword [edx + 0x104]
jle 0x102bfd9d
push 0x1040f374
call fcn.10119c8f
add esp, 4
cmp dword [0x1040f374], 0xffffffff
jne 0x102bfd9d
mov dword [ebp - 4], 1
xor ecx, ecx
mov byte [ebp - 0x35d], cl
xor edx, edx
mov byte [ebp - 0x35e], dl
mov dword [ebp - 0x12c], 0xda7d68cb
mov dword [ebp - 0x424], 0xda7d68cb
mov dword [ebp - 0x130], 0x990704d7
push 0x990704d7
lea eax, [ebp - 0x36c]
push eax
call fcn.102bc0e0
add esp, 8
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x424]
push ecx
mov edx, dword [ebp - 0x428]
push edx
push 0x1040f370
call fcn.102bace0
add esp, 0xc
push 0x1011a356
call fcn.1011b5ad
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x1040f374
call fcn.1011a72a
add esp, 4
cmp dword [0x1040f370], 0
je 0x102bfdb3
mov eax, dword [0x1040f370]
mov dword [ebp - 0x42c], eax
jmp 0x102bfdbd
mov dword [ebp - 0x42c], 0
call dword [ebp - 0x42c]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x2f0], 0
je 0x102bfde4
cmp dword [ebp - 0x2ec], 0
je 0x102bfde4
cmp dword [ebp - 0x138], 0
jne 0x102bfdf3
mov dword [ebp - 0x2f4], 0
jmp 0x102bff2c
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x134], edx
jmp 0x102bfe13
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x134], ecx
cmp dword [ebp - 0x134], 0
je 0x102bff22
mov edx, dword [ebp - 0x138]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x134]
mov eax, dword [edx]
and eax, 0xffffff
push eax
mov ecx, dword [ebp - 0x138]
call dword [ebp - 0x430]
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
je 0x102bff1d
mov dword [ebp - 0x140], 0x811c9dc5
mov dword [ebp - 0x14c], 0
mov ecx, dword [ebp - 0x14c]
add ecx, 1
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp - 0x13c]
add edx, dword [ebp - 0x14c]
movsx eax, byte [edx]
test eax, eax
je 0x102bfe96
jmp 0x102bfe72
xor ecx, ecx
je 0x102bfea9
mov edx, dword [ebp - 0x14c]
add edx, 1
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x148], 0
jmp 0x102bfed0
mov ecx, dword [ebp - 0x148]
add ecx, 1
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0x144]
jae 0x102bff01
mov eax, dword [ebp - 0x13c]
add eax, dword [ebp - 0x148]
movsx ecx, byte [eax]
xor ecx, dword [ebp - 0x140]
imul edx, ecx, 0x1000193
mov dword [ebp - 0x140], edx
jmp 0x102bfec1
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x2ec]
jne 0x102bff1d
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x2f4], ecx
jmp 0x102bff2c
jmp 0x102bfe04
mov dword [ebp - 0x2f4], 0
movss xmm0, dword [0x1035cfc8]
movss dword [ebp - 0x2f8], xmm0
mov edx, dword [ebp - 0x2f4]
movsx eax, byte [edx + 0x10]
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x434]
sub ecx, 1
mov dword [ebp - 0x434], ecx
cmp dword [ebp - 0x434], 6
ja case.0x102bff6e.3
mov edx, dword [ebp - 0x434]
jmp dword [edx*4 + 0x102c1078]
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.ucrtbased.dll_atof]
add esp, 4
fstp dword [ebp - 0x2f8]
jmp 0x102c0003
mov edx, dword [ebp - 0x2f4]
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.ucrtbased.dll__wtof]
add esp, 4
fstp dword [ebp - 0x2f8]
jmp 0x102c0003
mov ecx, dword [ebp - 0x2f4]
movss xmm0, dword [ecx + 0xc]
movss dword [ebp - 0x2f8], xmm0
jmp 0x102c0003
mov edx, dword [ebp - 0x2f4]
cvtsi2ss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x2f8], xmm0
jmp 0x102c0003
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, eax
call fcn.1011bcba
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x2f8], xmm0
jmp 0x102c0003
xorps xmm0, xmm0
movss dword [ebp - 0x2f8], xmm0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x150], 0xfc0c4ef4
mov dword [ebp - 0x2e0], 0xfc0c4ef4
mov eax, dword [ebp - 0x370]
mov dword [ebp - 0x2e8], eax
mov ecx, dword [0x1042c7f4]
mov edx, dword fs:[0x2c]
mov eax, dword [edx + ecx*4]
mov ecx, dword [0x1040f374]
cmp ecx, dword [eax + 0x104]
jle 0x102c00f6
push 0x1040f374
call fcn.10119c8f
add esp, 4
cmp dword [0x1040f374], 0xffffffff
jne 0x102c00f6
mov dword [ebp - 4], 2
xor edx, edx
mov byte [ebp - 0x371], dl
xor eax, eax
mov byte [ebp - 0x372], al
mov dword [ebp - 0x170], 0xda7d68cb
mov dword [ebp - 0x438], 0xda7d68cb
mov dword [ebp - 0x174], 0x990704d7
push 0x990704d7
lea ecx, [ebp - 0x380]
push ecx
call fcn.102bc0e0
add esp, 8
mov dword [ebp - 0x43c], eax
mov edx, dword [ebp - 0x438]
push edx
mov eax, dword [ebp - 0x43c]
push eax
push 0x1040f370
call fcn.102bace0
add esp, 0xc
push 0x1011a356
call fcn.1011b5ad
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x1040f374
call fcn.1011a72a
add esp, 4
cmp dword [0x1040f370], 0
je 0x102c010d
mov ecx, dword [0x1040f370]
mov dword [ebp - 0x440], ecx
jmp 0x102c0117
mov dword [ebp - 0x440], 0
call dword [ebp - 0x440]
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x2e4], 0
je 0x102c013e
cmp dword [ebp - 0x2e0], 0
je 0x102c013e
cmp dword [ebp - 0x168], 0
jne 0x102c014d
mov dword [ebp - 0x2e8], 0
jmp 0x102c0287
mov edx, dword [ebp - 0x2e4]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x164], eax
jmp 0x102c016d
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x164], edx
cmp dword [ebp - 0x164], 0
je 0x102c027d
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax]
and ecx, 0xffffff
push ecx
mov ecx, dword [ebp - 0x168]
call dword [ebp - 0x444]
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0
je 0x102c0278
mov dword [ebp - 0x158], 0x811c9dc5
mov dword [ebp - 0x154], 0
mov edx, dword [ebp - 0x154]
add edx, 1
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x16c]
add eax, dword [ebp - 0x154]
movsx ecx, byte [eax]
test ecx, ecx
je 0x102c01f1
jmp 0x102c01cd
xor edx, edx
je 0x102c0204
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x160], 0
jmp 0x102c022b
mov edx, dword [ebp - 0x160]
add edx, 1
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x160]
cmp eax, dword [ebp - 0x15c]
jae 0x102c025c
mov ecx, dword [ebp - 0x16c]
add ecx, dword [ebp - 0x160]
movsx edx, byte [ecx]
xor edx, dword [ebp - 0x158]
imul eax, edx, 0x1000193
mov dword [ebp - 0x158], eax
jmp 0x102c021c
mov ecx, dword [ebp - 0x158]
cmp ecx, dword [ebp - 0x2e0]
jne 0x102c0278
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x2e8], edx
jmp 0x102c0287
jmp 0x102c015e
mov dword [ebp - 0x2e8], 0
movss xmm0, dword [0x1035cfc8]
movss dword [ebp - 0x2fc], xmm0
mov eax, dword [ebp - 0x2e8]
movsx ecx, byte [eax + 0x10]
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x448]
sub edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 6
ja case.0x102c02c9.3
mov eax, dword [ebp - 0x448]
jmp dword [eax*4 + 0x102c1094]
mov ecx, dword [ebp - 0x2e8]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.ucrtbased.dll_atof]
add esp, 4
fstp dword [ebp - 0x2fc]
jmp 0x102c035c
mov eax, dword [ebp - 0x2e8]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.ucrtbased.dll__wtof]
add esp, 4
fstp dword [ebp - 0x2fc]
jmp 0x102c035c
mov edx, dword [ebp - 0x2e8]
movss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x2fc], xmm0
jmp 0x102c035c
mov eax, dword [ebp - 0x2e8]
cvtsi2ss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x2fc], xmm0
jmp 0x102c035c
mov ecx, dword [ebp - 0x2e8]
mov edx, dword [ecx + 4]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
call fcn.1011bcba
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x2fc], xmm0
jmp 0x102c035c
xorps xmm0, xmm0
movss dword [ebp - 0x2fc], xmm0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2d8], ecx
mov dword [ebp - 0x178], 0xff0c53ad
mov dword [ebp - 0x2d4], 0xff0c53ad
mov edx, dword [ebp - 0x384]
mov dword [ebp - 0x2dc], edx
mov eax, dword [0x1042c7f4]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x1040f374]
cmp eax, dword [edx + 0x104]
jle 0x102c044d
push 0x1040f374
call fcn.10119c8f
add esp, 4
cmp dword [0x1040f374], 0xffffffff
jne 0x102c044d
mov dword [ebp - 4], 3
xor ecx, ecx
mov byte [ebp - 0x385], cl
xor edx, edx
mov byte [ebp - 0x386], dl
mov dword [ebp - 0x18c], 0xda7d68cb
mov dword [ebp - 0x44c], 0xda7d68cb
mov dword [ebp - 0x188], 0x990704d7
push 0x990704d7
lea eax, [ebp - 0x394]
push eax
call fcn.102bc0e0
add esp, 8
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x44c]
push ecx
mov edx, dword [ebp - 0x450]
push edx
push 0x1040f370
call fcn.102bace0
add esp, 0xc
push 0x1011a356
call fcn.1011b5ad
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x1040f374
call fcn.1011a72a
add esp, 4
cmp dword [0x1040f370], 0
je 0x102c0463
mov eax, dword [0x1040f370]
mov dword [ebp - 0x454], eax
jmp 0x102c046d
mov dword [ebp - 0x454], 0
call dword [ebp - 0x454]
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x2d8], 0
je 0x102c0494
cmp dword [ebp - 0x2d4], 0
je 0x102c0494
cmp dword [ebp - 0x180], 0
jne 0x102c04a3
mov dword [ebp - 0x2dc], 0
jmp 0x102c05dc
mov ecx, dword [ebp - 0x2d8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x17c], edx
jmp 0x102c04c3
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x17c], ecx
cmp dword [ebp - 0x17c], 0
je 0x102c05d2
mov edx, dword [ebp - 0x180]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x17c]
mov eax, dword [edx]
and eax, 0xffffff
push eax
mov ecx, dword [ebp - 0x180]
call dword [ebp - 0x458]
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0
je 0x102c05cd
mov dword [ebp - 0x190], 0x811c9dc5
mov dword [ebp - 0x19c], 0
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x184]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x102c0546
jmp 0x102c0522
xor ecx, ecx
je 0x102c0559
mov edx, dword [ebp - 0x19c]
add edx, 1
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x198], 0
jmp 0x102c0580
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x198]
cmp edx, dword [ebp - 0x194]
jae 0x102c05b1
mov eax, dword [ebp - 0x184]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
xor ecx, dword [ebp - 0x190]
imul edx, ecx, 0x1000193
mov dword [ebp - 0x190], edx
jmp 0x102c0571
mov eax, dword [ebp - 0x190]
cmp eax, dword [ebp - 0x2d4]
jne 0x102c05cd
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x2dc], ecx
jmp 0x102c05dc
jmp 0x102c04b4
mov dword [ebp - 0x2dc], 0
movss xmm0, dword [0x1035cfc8]
movss dword [ebp - 0x300], xmm0
mov edx, dword [ebp - 0x2dc]
movsx eax, byte [edx + 0x10]
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x45c]
sub ecx, 1
mov dword [ebp - 0x45c], ecx
cmp dword [ebp - 0x45c], 6
ja case.0x102c061e.3
mov edx, dword [ebp - 0x45c]
jmp dword [edx*4 + 0x102c10b0]
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.ucrtbased.dll_atof]
add esp, 4
fstp dword [ebp - 0x300]
jmp 0x102c06b3
mov edx, dword [ebp - 0x2dc]
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.ucrtbased.dll__wtof]
add esp, 4
fstp dword [ebp - 0x300]
jmp 0x102c06b3
mov ecx, dword [ebp - 0x2dc]
movss xmm0, dword [ecx + 0xc]
movss dword [ebp - 0x300], xmm0
jmp 0x102c06b3
mov edx, dword [ebp - 0x2dc]
cvtsi2ss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x300], xmm0
jmp 0x102c06b3
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, eax
call fcn.1011bcba
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x300], xmm0
jmp 0x102c06b3
xorps xmm0, xmm0
movss dword [ebp - 0x300], xmm0
movss xmm0, dword [ebp - 0x2f8]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x2fc]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x300]
movss dword [ebp - 0x264], xmm0
movss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x268]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x264]
movss dword [ebp - 0x1c], xmm0
mov eax, dword [0x10411738]
cvtsi2ss xmm0, dword [eax + 0x16c]
mov ecx, dword [0x10411724]
mulss xmm0, dword [ecx + 0x20]
movss dword [ebp - 0x4c], xmm0
mov al, byte [0x104185bc]
mov byte [ebp - 0x395], al
movzx ecx, byte [ebp - 0x395]
test ecx, ecx
je 0x102c0921
mov eax, dword [ebp - 0x14]
add eax, 0xf4
mov dword [ebp - 0x30c], eax
mov ecx, dword [0x1040e6c0]
mov dword [ebp - 0x1bc], ecx
mov edx, dword [0x10421c48]
sub edx, 0x25
xor edx, 0xfc5bcf81
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x1bc]
add eax, dword [ebp - 0x3a4]
mov ecx, dword [eax]
mov dword [ebp - 0x1ac], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1a8], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [0x10421d28]
sub ecx, 0x5d
xor ecx, 0xfc5bcfb9
mov dword [ebp - 0x3a8], ecx
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0x3a8]
mov eax, dword [edx]
mov dword [ebp - 0x1b8], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x1b4], ecx
mov edx, dword [edx + 8]
mov dword [ebp - 0x1b0], edx
movss xmm0, dword [ebp - 0x1b0]
comiss xmm0, dword [0x1035eb24]
jb 0x102c0805
movss xmm0, dword [ebp - 0x1b0]
comiss xmm0, dword [0x1035eb28]
jbe 0x102c0803
movss xmm0, dword [0x1035eb28]
movss dword [ebp - 0x1b0], xmm0
jmp 0x102c0815
movss xmm0, dword [0x1035eb20]
movss dword [ebp - 0x1b0], xmm0
movss xmm0, dword [ebp - 0x1ac]
addss xmm0, dword [ebp - 0x1b8]
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [ebp - 0x1a8]
addss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x1a8], xmm0
movss xmm0, dword [ebp - 0x1a4]
addss xmm0, dword [ebp - 0x1b0]
movss dword [ebp - 0x1a4], xmm0
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x29c], eax
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x298], ecx
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x294], edx
lea eax, [ebp - 0x29c]
mov dword [ebp - 0x304], eax
mov ecx, dword [0x10421cc4]
sub ecx, 0x44
xor ecx, 0xfc5bcfa0
mov dword [ebp - 0x39c], ecx
mov edx, dword [0x1040e6c0]
add edx, dword [ebp - 0x39c]
mov eax, dword [edx]
mov dword [ebp - 0x308], eax
lea ecx, [ebp - 0x290]
mov edx, dword [ebp - 0x24]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 8], edx
lea eax, [ebp - 0x284]
mov ecx, dword [ebp - 0x304]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x308]
mov dword [ebp - 0x278], edx
mov byte [ebp - 0x274], 0
mov byte [ebp - 0x273], 0
lea eax, [ebp - 0x290]
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x3a0]
push ecx
mov ecx, dword [ebp - 0x30c]
call fcn.1011b977
mov al, byte [0x104178fc]
mov byte [ebp - 0x396], al
movzx ecx, byte [ebp - 0x396]
test ecx, ecx
je 0x102c0b33
mov eax, dword [0x104179b4]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x104117e0]
mov dword [ebp - 0x1c0], eax
lea ecx, [ebp - 0x3c0]
mov dword [ebp - 0x1c4], ecx
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1c0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x3c0]
mov eax, dword [edx]
mov dword [ebp - 0x3bc], eax
mov ecx, 0xc
shl ecx, 2
mov edx, dword [ebp - 0x3bc]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x3b8]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x428]
mov dword [ebp - 0x42c], edx
mov ecx, dword [ebp - 0x1c0]
call dword [ebp - 0x42c]
fstp dword [ebp - 0x320]
movzx eax, byte [ebp - 0xa2]
mov dword [ebp - 0x31c], eax
movzx ecx, byte [ebp - 0xa3]
mov dword [ebp - 0x318], ecx
movzx edx, byte [ebp - 0xa4]
mov dword [ebp - 0x314], edx
xorps xmm0, xmm0
movss dword [ebp - 0x2a8], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x2a4], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x2a0], xmm0
lea eax, [ebp - 0x2a8]
mov dword [ebp - 0x310], eax
movss xmm0, dword [0x1035cbd4]
movss dword [ebp - 0x2b4], xmm0
movss xmm0, dword [0x1035cbd4]
movss dword [ebp - 0x2b0], xmm0
movss xmm0, dword [0x1035cbd4]
movss dword [ebp - 0x2ac], xmm0
movss xmm0, dword [0x1036cab8]
movss dword [ebp - 0x2c0], xmm0
movss xmm0, dword [0x1036cab8]
movss dword [ebp - 0x2bc], xmm0
movss xmm0, dword [0x1036cab8]
movss dword [ebp - 0x2b8], xmm0
mov ecx, dword [0x10411704]
mov dword [ebp - 0x1cc], ecx
lea edx, [ebp - 0x3ec]
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1cc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x3ec]
mov ecx, dword [eax]
mov dword [ebp - 0x3e8], ecx
mov edx, 1
shl edx, 2
mov eax, dword [ebp - 0x3e8]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x3e4], ecx
mov edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x438], eax
push ecx
movss xmm0, dword [ebp - 0x320]
movss dword [esp], xmm0
push 0x7d
mov ecx, dword [ebp - 0x31c]
push ecx
mov edx, dword [ebp - 0x318]
push edx
mov eax, dword [ebp - 0x314]
push eax
mov ecx, dword [ebp - 0x310]
push ecx
lea edx, [ebp - 0x2b4]
push edx
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x1cc]
call dword [ebp - 0x438]
mov eax, dword [ebp - 0x14]
add eax, 0xe0
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x3b4]
add edx, 0x10
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x3b0]
cmp dword [eax], 0
jne 0x102c0b73
mov dword [ebp - 0x424], 1
jmp 0x102c0b7d
mov dword [ebp - 0x424], 0
mov cl, byte [ebp - 0x424]
mov byte [ebp - 0x3c1], cl
movzx edx, byte [ebp - 0x3c1]
test edx, edx
je 0x102c0b99
jmp 0x102c103d
cmp dword [0x1040e6c0], 0
je 0x102c0bf2
mov eax, dword [0x10421c98]
sub eax, 0x39
xor eax, 0xfc5bcf95
mov dword [ebp - 0x3cc], eax
mov ecx, dword [0x1040e6c0]
add ecx, dword [ebp - 0x3cc]
cmp dword [ecx], 0
jne 0x102c0bd2
mov dword [ebp - 0x424], 1
jmp 0x102c0bdc
mov dword [ebp - 0x424], 0
movzx edx, byte [ebp - 0x424]
test edx, edx
je 0x102c0bf2
movzx eax, byte [0x1040e6c4]
test eax, eax
jne 0x102c0bf7
jmp 0x102c103d
movss xmm0, dword [0x1035cc18]
movss dword [ebp - 0xac], xmm0
mov dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0x14]
add eax, 0xe0
mov dword [ebp - 0xb0], eax
xor eax, eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x3d0], ecx
mov edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x404], ecx
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0x3f4], edx
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x3f0], eax
mov ecx, dword [ebp - 0x3f0]
add ecx, 0xc
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
mov dword [ebp - 0x400], eax
mov ecx, dword [ebp - 0x404]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0x400]
mov dword [ebp - 0xb4], edx
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, dword [ebp - 0xb0]
call fcn.10119e65
jmp 0x102c0cdb
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0xbc]
jne 0x102c0cf5
mov dword [ebp - 0x424], 1
jmp 0x102c0cff
mov dword [ebp - 0x424], 0
movzx ecx, byte [ebp - 0x424]
test ecx, ecx
jne 0x102c0d16
mov dword [ebp - 0x428], 1
jmp 0x102c0d20
mov dword [ebp - 0x428], 0
movzx edx, byte [ebp - 0x428]
test edx, edx
je 0x102c0e73
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x40c]
mov edx, dword [ecx + 8]
sub edx, 1
and edx, dword [ebp - 0xb4]
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0xb4]
xor edx, edx
mov ecx, 1
div ecx
mov dword [ebp - 0x1d4], edx
imul edx, dword [ebp - 0x1d4], 0x38
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x1d0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
movss xmm0, dword [eax + 8]
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0x4c]
subss xmm0, dword [ebp - 0xc8]
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.1011a48c
add esp, 8
fstp dword [ebp - 0x424]
fld dword [ebp - 0x424]
fstp dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc4]
movzx ecx, byte [eax + 0x20]
test ecx, ecx
je 0x102c0e28
mov eax, dword [0x10421cc4]
sub eax, 0x44
xor eax, 0xfc5bcfa0
mov dword [ebp - 0x408], eax
mov ecx, dword [0x1040e6c0]
add ecx, dword [ebp - 0x408]
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x24]
cmp eax, dword [ecx]
jne 0x102c0e23
movss xmm0, dword [ebp - 0xcc]
movss dword [ebp - 0xac], xmm0
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xa8], eax
jmp 0x102c0ccc
mov eax, dword [ebp - 0xc4]
movss xmm0, dword [ebp - 0xcc]
comiss xmm0, dword [eax + 0xc]
jbe 0x102c0e41
jmp 0x102c0ccc
movss xmm0, dword [ebp - 0xac]
comiss xmm0, dword [ebp - 0xcc]
jbe 0x102c0e6e
movss xmm0, dword [ebp - 0xcc]
movss dword [ebp - 0xac], xmm0
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xa8], eax
jmp 0x102c0ccc
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jne 0x102c0e8d
jmp 0x102c103d
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x20], 1
mov eax, dword [0x10421cc4]
sub eax, 0x44
xor eax, 0xfc5bcfa0
mov dword [ebp - 0x3fc], eax
mov ecx, dword [0x1040e6c0]
add ecx, dword [ebp - 0x3fc]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ecx]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 0xd0]
add eax, 0x28
mov dword [ebp - 0x1d8], eax
mov ecx, dword [ebp - 0x1d8]
movss xmm0, dword [ebp - 0x24]
movss dword [ecx], xmm0
mov edx, dword [ebp - 0x1d8]
movss xmm0, dword [ebp - 0x20]
movss dword [edx + 4], xmm0
mov eax, dword [ebp - 0x1d8]
movss xmm0, dword [ebp - 0x1c]
movss dword [eax + 8], xmm0
xor eax, eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0x1dc], ecx
mov edx, dword [ebp - 0x1dc]
xorps xmm0, xmm0
movss dword [edx], xmm0
mov eax, dword [ebp - 0x1dc]
xorps xmm0, xmm0
movss dword [eax + 4], xmm0
mov ecx, dword [ebp - 0x1dc]
xorps xmm0, xmm0
movss dword [ecx + 8], xmm0
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xe4], eax
mov eax, dword [0x10421cc4]
sub eax, 0x44
xor eax, 0xfc5bcfa0
mov dword [ebp - 0x3f8], eax
mov ecx, dword [0x1040e6c0]
add ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov dword [ebp - 0xe0], edx
movss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0xd4], xmm0
mov eax, dword [ebp - 0x14]
add eax, 0x104
mov dword [ebp - 0x424], eax
lea ecx, [ebp - 0xe4]
push ecx
mov ecx, dword [ebp - 0x424]
call fcn.10119abe
mov eax, dword [ebp - 0x14]
add eax, 0x104
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x414]
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x418]
add edx, 0x10
mov dword [ebp - 0x420], edx
mov eax, dword [ebp - 0x420]
mov ecx, dword [eax]
mov dword [ebp - 0x41c], ecx
cmp dword [ebp - 0x41c], 0x10
jbe 0x102c1032
mov ecx, dword [ebp - 0x14]
add ecx, 0x104
call fcn.1011b0df
jmp 0x102c0fe2
mov eax, dword [0x104215f8]
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1011b1ac
mov esp, ebp
pop ebp
ret 4