Function at 0x10023a40
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1012ab16
mov eax, dword fs:[0]
push eax
sub esp, 0x590
push esi
push edi
lea edi, [ebp - 0x59c]
mov ecx, 0x164
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x10196d40]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x10197808]
movzx ecx, byte [eax]
test ecx, ecx
jne 0x10023a98
mov edx, dword [0x10197810]
movzx eax, byte [edx]
test eax, eax
je 0x10023a9d
jmp 0x10026075
mov byte [ebp - 0x18], 0
mov byte [ebp - 0x17], 0
mov byte [ebp - 0x16], 0
mov byte [ebp - 0x15], 0
mov byte [ebp - 0x24], 0xff
mov byte [ebp - 0x23], 0
mov byte [ebp - 0x22], 0
mov byte [ebp - 0x21], 0xff
mov ecx, dword [0x101977fc]
push ecx
movss xmm0, dword [ecx]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101413fc]
movss dword [esp], xmm0
call fcn.10012ca0
add esp, 8
fstp dword [ebp - 0x2c]
mov edx, dword [0x101977fc]
push ecx
movss xmm0, dword [edx]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141418]
movss dword [esp], xmm0
call fcn.10012ca0
add esp, 8
fstp dword [ebp - 0x30]
mov eax, dword [0x101977fc]
push ecx
movss xmm0, dword [eax]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141424]
movss dword [esp], xmm0
call fcn.10012ca0
add esp, 8
fstp dword [ebp - 0x34]
mov ecx, dword [0x101977fc]
push ecx
movss xmm0, dword [ecx]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x1014142c]
movss dword [esp], xmm0
call fcn.10012ca0
add esp, 8
fstp dword [ebp - 0x38]
mov edx, dword [0x101977fc]
push ecx
movss xmm0, dword [edx]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141430]
movss dword [esp], xmm0
call fcn.10012ca0
add esp, 8
fstp dword [ebp - 0x3c]
mov eax, dword [0x101977fc]
push ecx
movss xmm0, dword [eax]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141438]
movss dword [esp], xmm0
call fcn.10012ca0
add esp, 8
fstp dword [ebp - 0x40]
call fcn.100f9250
mov ecx, dword [0x10b9d004]
movzx edx, byte [ecx]
cmp edx, 0x17
jne 0x10023d85
mov eax, dword [0x10b9d008]
movzx ecx, byte [eax]
test ecx, ecx
je 0x10023c01
mov edx, dword [0x10b9d008]
movzx eax, byte [edx]
cmp eax, 0xf
je 0x10023c01
mov ecx, dword [0x10b9d008]
movzx edx, byte [ecx]
cmp edx, 0x1e
je 0x10023c01
mov eax, dword [0x10b9d008]
movzx ecx, byte [eax]
cmp ecx, 0x2d
jne 0x10023d85
mov byte [ebp - 0x288], 0xff
mov byte [ebp - 0x287], 0xff
mov byte [ebp - 0x286], 0xff
mov byte [ebp - 0x285], 0xff
push ecx
movss xmm0, dword [0x101414a4]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x294]
call fcn.10012460
mov dword [ebp - 0x3d8], eax
push ecx
movss xmm0, dword [0x1014157c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101416a0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101415c4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2a0]
call fcn.10012460
mov dword [ebp - 0x3dc], eax
push 0x3e8
push 1
push 0
push 0
lea edx, [ebp - 0x288]
push edx
push ecx
movss xmm0, dword [0x10141480]
movss dword [esp], xmm0
push 0
mov eax, dword [ebp - 0x3d8]
push eax
mov ecx, dword [ebp - 0x3dc]
push ecx
push 0x2e
call fcn.10022aa0
add esp, 0x28
mov byte [ebp - 0x2a4], 0xff
mov byte [ebp - 0x2a3], 0xff
mov byte [ebp - 0x2a2], 0xff
mov byte [ebp - 0x2a1], 0xff
push ecx
movss xmm0, dword [0x101414a4]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x2b0]
call fcn.10012460
mov dword [ebp - 0x3e0], eax
push ecx
movss xmm0, dword [0x10141568]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101415d0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141694]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2bc]
call fcn.10012460
mov dword [ebp - 0x3e4], eax
push 0x3e8
push 1
push 0
push 0
lea edx, [ebp - 0x2a4]
push edx
push ecx
movss xmm0, dword [0x10141480]
movss dword [esp], xmm0
push 0
mov eax, dword [ebp - 0x3e0]
push eax
mov ecx, dword [ebp - 0x3e4]
push ecx
push 0x2e
call fcn.10022aa0
add esp, 0x28
mov dword [ebp - 0x44], 0
jmp 0x10023d97
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 0x5e
jge 0x10026075
imul eax, dword [ebp - 0x44], 0x94
add eax, 0x10abf2c8
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + 0x90]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x5c], 0
cmp dword [ebp - 0x50], 0
jne 0x10023dcb
jmp 0x10023d8e
jmp 0x10023de6
movzx eax, byte [ebp - 0x61]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
lea edx, [ebp - 0x5c]
push edx
lea eax, [ebp - 0x50]
push eax
call fcn.100c97a0
add esp, 0x10
cmp dword [ebp - 0x50], 0
je 0x10026070
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x74]
call fcn.10012460
mov byte [ebp - 0x61], 0
mov ecx, dword [0x101977fc]
push ecx
movss xmm0, dword [ecx]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x50]
add edx, 0xc
push edx
lea eax, [ebp - 0x88]
push eax
call fcn.100a0d50
add esp, 0xc
mov ecx, dword [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x9c]
call fcn.10012540
cmp dword [0x10225edc], 0
jne 0x10023e5c
mov byte [0x101df8b7], 0
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x28
jne 0x1002408b
mov eax, dword [0x10b9d00c]
cmp dword [eax], 0
jg 0x10023e7e
movzx ecx, byte [0x101df8b7]
cmp ecx, 1
jne 0x10023e87
mov byte [ebp - 0x61], 1
jmp 0x10023dcd
movzx edx, byte [0x10aa43e4]
cmp edx, 5
jne 0x10023ee3
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x2c8]
call fcn.10012460
push eax
lea ecx, [ebp - 0x88]
call fcn.100124d0
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x18]
add ecx, 0x4e2
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x18], ecx
mov byte [0x10aa43e4], 0
jmp 0x10024072
mov eax, dword [0x10b9cff4]
movss xmm0, dword [eax + 0x124]
comiss xmm0, dword [0x101413ec]
jbe 0x10024066
lea ecx, [ebp - 0x88]
call fcn.100124a0
fstp dword [ebp - 0x3e8]
movss xmm0, dword [ebp - 0x3e8]
comiss xmm0, dword [0x101413fc]
jbe 0x10024066
lea ecx, [ebp - 0x88]
call fcn.100124a0
fstp dword [ebp - 0x3ec]
movss xmm0, dword [ebp - 0x3ec]
comiss xmm0, dword [0x101413f8]
jbe 0x10023fb8
lea ecx, [ebp - 0x88]
call fcn.100124a0
fstp dword [ebp - 0x3f0]
movss xmm0, dword [0x10141418]
comiss xmm0, dword [ebp - 0x3f0]
jbe 0x10023fb8
mov ecx, dword [0x10b9cff4]
movss xmm0, dword [ecx + 0x124]
mulss xmm0, dword [0x10141464]
addss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0x88], xmm0
mov edx, dword [0x10b9cff4]
movss xmm0, dword [edx + 0x124]
mulss xmm0, dword [0x10141464]
addss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0x84], xmm0
jmp 0x10024066
lea ecx, [ebp - 0x88]
call fcn.100124a0
fstp dword [ebp - 0x3f4]
movss xmm0, dword [ebp - 0x3f4]
ucomiss xmm0, dword [0x1014133c]
lahf
test ah, 0x44
jnp 0x10024066
push ecx
movss xmm0, dword [0x101413a8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141378]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x3f8]
movss xmm0, dword [ebp - 0x3f8]
addss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0x88], xmm0
push ecx
movss xmm0, dword [0x101413a8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141378]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x3fc]
movss xmm0, dword [ebp - 0x3fc]
addss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0x84], xmm0
mov al, byte [0x10aa43e4]
add al, 1
mov byte [0x10aa43e4], al
movss xmm0, dword [0x10141464]
comiss xmm0, dword [ebp - 0x94]
jb 0x1002408b
xorps xmm0, xmm0
movss dword [ebp - 0x80], xmm0
mov ecx, dword [ebp - 0x48]
cmp dword [ecx], 0x51
je 0x1002409f
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x52
jne 0x10024166
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 0x4c]
cvtsi2ss xmm0, ecx
push ecx
movss dword [esp], xmm0
call fcn.1002b230
add esp, 4
fstp dword [ebp - 0x400]
movss xmm0, dword [ebp - 0x400]
mulss xmm0, dword [0x101415c0]
divss xmm0, dword [0x101414e0]
cvttss2si edx, xmm0
add edx, 0x400
and edx, 0x800003ff
jns 0x100240f0
dec edx
or edx, 0xfffffc00
inc edx
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa4]
push eax
call fcn.100b94e0
add esp, 4
fstp dword [ebp - 0x88]
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.100b94e0
add esp, 4
fstp dword [ebp - 0x84]
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x52
jne 0x10024148
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 0x4c]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x10141414]
cvttss2si edx, xmm0
mov eax, dword [ebp - 0x50]
mov word [eax + 0x4c], dx
jmp 0x10024166
mov ecx, dword [ebp - 0x50]
movsx edx, word [ecx + 0x4c]
cvtsi2ss xmm0, edx
addss xmm0, dword [0x10141444]
cvttss2si eax, xmm0
mov ecx, dword [ebp - 0x50]
mov word [ecx + 0x4c], ax
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x4f
jne 0x100242e4
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 0x4c]
cvtsi2ss xmm0, ecx
push ecx
movss dword [esp], xmm0
call fcn.1002b230
add esp, 4
fstp dword [ebp - 0x404]
movss xmm0, dword [ebp - 0x404]
mulss xmm0, dword [0x101415c0]
divss xmm0, dword [0x101414e0]
cvttss2si edx, xmm0
add edx, 0x400
and edx, 0x800003ff
jns 0x100241c3
dec edx
or edx, 0xfffffc00
inc edx
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xa8]
push eax
call fcn.100b4be0
add esp, 4
fstp dword [ebp - 0x408]
movss xmm0, dword [ebp - 0x408]
mulss xmm0, dword [0x101413fc]
movss dword [ebp - 0x40c], xmm0
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x40c]
movss dword [ecx + 0xc], xmm0
mov edx, dword [ebp - 0xa8]
push edx
call fcn.100b4be0
add esp, 4
fstp dword [ebp - 0x410]
mov eax, dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x410]
movss dword [eax + 0x10], xmm0
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.100b94e0
add esp, 4
fstp dword [ebp - 0x414]
movss xmm0, dword [ebp - 0x414]
mulss xmm0, dword [0x101413e4]
movss dword [ebp - 0x418], xmm0
mov edx, dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x418]
movss dword [edx + 0x14], xmm0
mov ecx, dword [ebp - 0x50]
add ecx, 0xc
call fcn.100124a0
fstp dword [ebp - 0x41c]
movss xmm0, dword [ebp - 0x41c]
comiss xmm0, dword [0x10141480]
ja 0x100242db
movss xmm0, dword [ebp - 0x94]
comiss xmm0, dword [0x10141530]
ja 0x100242db
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [0x10b9cff4]
call fcn.100b6d30
push eax
lea ecx, [ebp - 0x2d4]
push ecx
call fcn.100a12c0
add esp, 0xc
mov ecx, eax
call fcn.100124a0
fstp dword [ebp - 0x420]
movss xmm0, dword [0x10141540]
comiss xmm0, dword [ebp - 0x420]
jbe 0x100242e4
mov byte [ebp - 0x61], 1
jmp 0x10023dcd
lea edx, [ebp - 0x88]
push edx
lea ecx, [ebp - 0x9c]
call fcn.100124e0
mov eax, dword [ebp - 0x48]
cmp dword [eax], 0xe
jne 0x1002437b
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [ecx + 0x3c]
mulss xmm0, dword [0x101414d8]
movss dword [ebp - 0x424], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x2e0]
call fcn.10012460
mov dword [ebp - 0x428], eax
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x42c], edx
push 0
push 0
push 0
push 0
push ecx
movss xmm0, dword [ebp - 0x424]
movss dword [esp], xmm0
push 0
mov eax, dword [ebp - 0x428]
push eax
mov ecx, dword [ebp - 0x42c]
push ecx
push 0x51
call fcn.10022a00
add esp, 0x24
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x12
jne 0x10024449
mov eax, dword [0x10197804]
mov ecx, dword [eax]
and ecx, 0xa
je 0x10024449
push 0xffffffffffffffff
call fcn.100168f0
add esp, 4
test eax, eax
je 0x10024449
push 0xffffffffffffffff
call fcn.100168f0
add esp, 4
add eax, 0x5a0
mov dword [ebp - 0x430], eax
push 0xffffffffffffffff
call fcn.100168f0
add esp, 4
movzx edx, byte [eax + 0x718]
imul eax, edx, 0x1c
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x430]
add ecx, dword [ebp - 0x434]
cmp dword [ecx], 0x26
jne 0x10024449
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x2ec]
call fcn.10012460
mov dword [ebp - 0x438], eax
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x43c], edx
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
mov eax, dword [ebp - 0x438]
push eax
mov ecx, dword [ebp - 0x43c]
push ecx
push 0x51
call fcn.10022a00
add esp, 0x24
mov edx, dword [0x10197834]
movss xmm0, dword [edx]
comiss xmm0, dword [0x1014133c]
jbe 0x1002455a
lea ecx, [ebp - 0x88]
call fcn.100124a0
fstp dword [ebp - 0x440]
movss xmm0, dword [ebp - 0x440]
ucomiss xmm0, dword [0x1014133c]
lahf
test ah, 0x44
jnp 0x1002455a
push ecx
movss xmm0, dword [0x10141458]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141414]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x444]
movss xmm0, dword [ebp - 0x444]
mov eax, dword [0x10197834]
movss xmm1, dword [eax]
xorps xmm1, xmmword [0x101416c0]
mulss xmm0, xmm1
movss dword [ebp - 0x74], xmm0
push ecx
movss xmm0, dword [0x10141458]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141414]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x448]
movss xmm0, dword [ebp - 0x448]
mov ecx, dword [0x10197834]
movss xmm1, dword [ecx]
xorps xmm1, xmmword [0x101416c0]
mulss xmm0, xmm1
movss dword [ebp - 0x70], xmm0
mov edx, dword [ebp - 0x48]
movss xmm0, dword [0x10183004]
mulss xmm0, dword [edx + 0x88]
mov eax, dword [0x101977fc]
mulss xmm0, dword [eax]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x74]
call fcn.10012500
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x50]
add ecx, 0xc
call fcn.100124e0
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x22
je 0x1002459e
mov eax, dword [ebp - 0x48]
cmp dword [eax], 0x23
je 0x1002459e
mov ecx, dword [ebp - 0x48]
cmp dword [ecx], 0x24
je 0x1002459e
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x25
je 0x1002459e
mov eax, dword [ebp - 0x48]
cmp dword [eax], 0x2e
je 0x1002459e
mov ecx, dword [ebp - 0x48]
cmp dword [ecx], 0x2f
je 0x1002459e
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x50
je 0x1002459e
mov eax, dword [ebp - 0x48]
cmp dword [eax], 0x1a
jne 0x10024a28
mov ecx, dword [0x10b9cff4]
movss xmm0, dword [0x101414dc]
mulss xmm0, dword [ecx + 0x124]
addss xmm0, dword [0x10141444]
cvttss2si edx, xmm0
mov dword [ebp - 0xac], edx
xorps xmm0, xmm0
movss dword [ebp - 0xb0], xmm0
mov eax, dword [ebp - 0x48]
cmp dword [eax], 0x2f
je 0x100245e5
mov ecx, dword [ebp - 0x48]
cmp dword [ecx], 0x2e
jne 0x10024685
mov edx, dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x94]
addss xmm0, dword [edx + 0x3c]
movss xmm1, dword [0x101414d8]
comiss xmm1, xmm0
jbe 0x1002460b
mov byte [ebp - 0x61], 1
jmp 0x10023dcd
mov ecx, dword [0x10b9cff4]
call fcn.100169b0
mov dword [ebp - 0x44c], eax
cmp dword [ebp - 0x44c], 1
je 0x10024639
cmp dword [ebp - 0x44c], 2
je 0x10024639
cmp dword [ebp - 0x44c], 3
je 0x10024639
jmp 0x1002464c
mov eax, dword [ebp - 0xac]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xac], eax
jmp 0x10024656
mov dword [ebp - 0xac], 0
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [0x10b9cff4]
call fcn.100b6d30
push eax
lea ecx, [ebp - 0x2f8]
push ecx
call fcn.100a12c0
add esp, 0xc
mov ecx, eax
call fcn.100124a0
fstp dword [ebp - 0xb0]
mov edx, dword [0x10225edc]
cmp edx, dword [ebp - 0xac]
jge 0x10024a28
cmp dword [0x10225edc], 0x3f
jge 0x10024a28
movss xmm0, dword [0x101414fc]
comiss xmm0, dword [ebp - 0xb0]
jbe 0x10024a28
movzx eax, byte [0x101df8b7]
test eax, eax
jne 0x10024a28
mov ecx, dword [0x10b9d00c]
cmp dword [ecx], 0
jne 0x100246df
mov dword [ebp - 0x450], 1
jmp 0x100246e9
mov dword [ebp - 0x450], 0
cmp dword [ebp - 0x450], 0
jle 0x10024a28
push ecx
movss xmm0, dword [0x10141414]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101413c4]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x454]
push ecx
movss xmm0, dword [0x101413e4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141614]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x458]
push ecx
movss xmm0, dword [0x101415ec]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x454]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x458]
movss dword [esp], xmm0
lea ecx, [ebp - 0xc0]
call fcn.10012460
lea ecx, [ebp - 0xd4]
call fcn.10011e50
mov edx, dword [0x10b9cff4]
movss xmm0, dword [0x101413ec]
comiss xmm0, dword [edx + 0x124]
jbe 0x10024800
call fcn.100167c0
fstp dword [ebp - 0x45c]
movss xmm0, dword [ebp - 0x45c]
cvttss2si eax, xmm0
sub eax, 0x32
push eax
push 0x32
call fcn.10016ab0
add esp, 8
mov dword [ebp - 0x460], eax
cvtsi2sd xmm0, dword [ebp - 0x460]
mov ecx, dword [ebp - 0x460]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x101416b0]
movsd qword [ebp - 0x468], xmm0
cvtsd2ss xmm0, qword [ebp - 0x468]
movss dword [ebp - 0xd4], xmm0
jmp 0x10024863
call fcn.100167c0
fstp dword [ebp - 0x46c]
movss xmm0, dword [ebp - 0x46c]
cvttss2si edx, xmm0
sub edx, 0xc8
push edx
push 0xc8
call fcn.10016ab0
add esp, 8
mov dword [ebp - 0x470], eax
cvtsi2sd xmm0, dword [ebp - 0x470]
mov eax, dword [ebp - 0x470]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101416b0]
movsd qword [ebp - 0x478], xmm0
cvtsd2ss xmm0, qword [ebp - 0x478]
movss dword [ebp - 0xd4], xmm0
mov ecx, dword [ebp - 0x48]
cmp dword [ecx], 0x2f
je 0x10024873
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x2e
jne 0x100248d0
call fcn.100167a0
fstp dword [ebp - 0x47c]
call fcn.100167a0
fstp dword [ebp - 0x480]
movss xmm0, dword [ebp - 0x480]
divss xmm0, dword [0x10141480]
movss dword [ebp - 0x484], xmm0
push ecx
movss xmm0, dword [ebp - 0x47c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x484]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0xd0]
jmp 0x10024998
mov eax, dword [0x10b9cff4]
movss xmm0, dword [0x101413ec]
comiss xmm0, dword [eax + 0x124]
jbe 0x10024935
call fcn.100167a0
call fcn.10102240
push eax
push 0
call fcn.10016ab0
add esp, 8
mov dword [ebp - 0x488], eax
cvtsi2sd xmm0, dword [ebp - 0x488]
mov ecx, dword [ebp - 0x488]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x101416b0]
movsd qword [ebp - 0x490], xmm0
cvtsd2ss xmm0, qword [ebp - 0x490]
movss dword [ebp - 0xd0], xmm0
jmp 0x10024998
call fcn.100167a0
fstp dword [ebp - 0x494]
movss xmm0, dword [ebp - 0x494]
cvttss2si edx, xmm0
sub edx, 0xc8
push edx
push 0x96
call fcn.10016ab0
add esp, 8
mov dword [ebp - 0x498], eax
cvtsi2sd xmm0, dword [ebp - 0x498]
mov eax, dword [ebp - 0x498]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101416b0]
movsd qword [ebp - 0x4a0], xmm0
cvtsd2ss xmm0, qword [ebp - 0x4a0]
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [0x10141480]
movss dword [ebp - 0xcc], xmm0
call fcn.100176c0
and eax, 1
mov dword [ebp - 0x4a4], eax
push ecx
movss xmm0, dword [0x101413d4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101413c4]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x4a8]
push 0
mov ecx, dword [ebp - 0x4a4]
push ecx
push 0
push 0
push ecx
movss xmm0, dword [ebp - 0x4a8]
movss dword [esp], xmm0
push 0
lea edx, [ebp - 0xc0]
push edx
lea eax, [ebp - 0xd4]
push eax
push 0x28
call fcn.10022a00
add esp, 0x24
test eax, eax
je 0x10024a28
mov ecx, dword [0x10225edc]
add ecx, 1
mov dword [0x10225edc], ecx
mov edx, dword [0x10197800]
mov eax, dword [ebp - 0x50]
mov ecx, dword [edx]
cmp ecx, dword [eax + 0x18]
ja 0x10024a43
mov edx, dword [ebp - 0x50]
movzx eax, byte [edx + 0x3b]
test eax, eax
jne 0x10024a4c
mov byte [ebp - 0x61], 1
jmp 0x10023dcd
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x1c], 0
je 0x10024be6
mov edx, dword [ebp - 0x50]
mov eax, dword [0x10197800]
mov ecx, dword [edx + 0x1c]
cmp ecx, dword [eax]
jbe 0x10024bda
mov edx, dword [ebp - 0x50]
mov eax, dword [0x10197800]
mov ecx, dword [edx + 0x1c]
sub ecx, dword [eax]
mov dword [ebp - 0x4ac], ecx
cvtsi2sd xmm0, dword [ebp - 0x4ac]
mov edx, dword [ebp - 0x4ac]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x101416b0]
movsd qword [ebp - 0x4b4], xmm0
cvtsd2ss xmm0, qword [ebp - 0x4b4]
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x7c]
mov dword [ebp - 0x4b8], ecx
cvtsi2sd xmm1, dword [ebp - 0x4b8]
mov edx, dword [ebp - 0x4b8]
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x101416b0]
movsd qword [ebp - 0x4c0], xmm1
cvtsd2ss xmm1, qword [ebp - 0x4c0]
divss xmm0, xmm1
movss xmm1, dword [0x10141444]
subss xmm1, xmm0
movss dword [ebp - 0xdc], xmm1
push 0xff
push 0
mov eax, dword [ebp - 0x48]
movzx ecx, byte [eax + 0x70]
mov edx, dword [ebp - 0x48]
movzx eax, byte [edx + 0x75]
mov edx, dword [ebp - 0x48]
movzx edx, byte [edx + 0x70]
sub eax, edx
cvtsi2ss xmm0, eax
mulss xmm0, dword [ebp - 0xdc]
cvttss2si eax, xmm0
add ecx, eax
push ecx
call fcn.1002b2f0
add esp, 0xc
mov byte [ebp - 0x4c1], al
mov ecx, dword [ebp - 0x50]
mov dl, byte [ebp - 0x4c1]
mov byte [ecx + 0x4f], dl
push 0xff
push 0
mov eax, dword [ebp - 0x48]
movzx ecx, byte [eax + 0x71]
mov edx, dword [ebp - 0x48]
movzx eax, byte [edx + 0x76]
mov edx, dword [ebp - 0x48]
movzx edx, byte [edx + 0x71]
sub eax, edx
cvtsi2ss xmm0, eax
mulss xmm0, dword [ebp - 0xdc]
cvttss2si eax, xmm0
add ecx, eax
push ecx
call fcn.1002b2f0
add esp, 0xc
mov byte [ebp - 0x4c2], al
mov ecx, dword [ebp - 0x50]
mov dl, byte [ebp - 0x4c2]
mov byte [ecx + 0x50], dl
push 0xff
push 0
mov eax, dword [ebp - 0x48]
movzx ecx, byte [eax + 0x72]
mov edx, dword [ebp - 0x48]
movzx eax, byte [edx + 0x77]
mov edx, dword [ebp - 0x48]
movzx edx, byte [edx + 0x72]
sub eax, edx
cvtsi2ss xmm0, eax
mulss xmm0, dword [ebp - 0xdc]
cvttss2si eax, xmm0
add ecx, eax
push ecx
call fcn.1002b2f0
add esp, 0xc
mov byte [ebp - 0x4c3], al
mov ecx, dword [ebp - 0x50]
mov dl, byte [ebp - 0x4c3]
mov byte [ecx + 0x51], dl
jmp 0x10024be6
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x75]
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x4f], ecx
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x6c]
and ecx, 0x800
je 0x10024c6d
mov edx, dword [ebp - 0x50]
movss xmm0, dword [0x10141664]
comiss xmm0, dword [edx]
ja 0x10024c64
call fcn.100167c0
fstp dword [ebp - 0x4c8]
movss xmm0, dword [ebp - 0x4c8]
addss xmm0, dword [0x101414fc]
mov eax, dword [ebp - 0x50]
movss xmm1, dword [eax]
comiss xmm1, xmm0
ja 0x10024c64
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [0x10141664]
comiss xmm0, dword [ecx + 4]
ja 0x10024c64
call fcn.100167a0
fstp dword [ebp - 0x4cc]
movss xmm0, dword [ebp - 0x4cc]
addss xmm0, dword [0x101414fc]
mov edx, dword [ebp - 0x50]
movss xmm1, dword [edx + 4]
comiss xmm1, xmm0
jbe 0x10024c6d
mov byte [ebp - 0x61], 1
jmp 0x10023dcd
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x6c]
and ecx, 8
jne 0x10024e4d
mov edx, dword [ebp - 0x50]
movss xmm0, dword [edx + 0x40]
comiss xmm0, dword [0x1014133c]
jbe 0x10024d8b
lea ecx, [ebp - 0x88]
call fcn.100124a0
fstp dword [ebp - 0x2fc]
lea ecx, [ebp - 0x74]
call fcn.100124a0
fstp dword [ebp - 0x300]
lea eax, [ebp - 0x2fc]
push eax
lea ecx, [ebp - 0x300]
push ecx
call fcn.1008e870
add esp, 8
movss xmm0, dword [eax]
movss dword [ebp - 0xe4], xmm0
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x43
je 0x10024ce2
mov eax, dword [ebp - 0x48]
cmp dword [eax], 0x21
jne 0x10024cfa
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [0x10141480]
movss dword [ebp - 0xe4], xmm0
mov ecx, dword [ebp - 0x48]
cmp dword [ecx], 0x2f
je 0x10024d0a
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x2e
jne 0x10024d61
mov eax, dword [ebp - 0x50]
movss xmm0, dword [eax + 0x3c]
comiss xmm0, dword [0x10141450]
jbe 0x10024d61
movss xmm0, dword [0x10141444]
addss xmm0, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x50]
mulss xmm0, dword [ecx + 0x40]
mov edx, dword [ebp - 0x50]
movss xmm1, dword [edx + 0x3c]
subss xmm1, xmm0
movss dword [ebp - 0xe0], xmm1
mov eax, dword [ebp - 0x50]
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [0x101413d4]
mov ecx, dword [ebp - 0x50]
movss dword [ecx + 0x14], xmm0
jmp 0x10024d89
movss xmm0, dword [0x10141444]
addss xmm0, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x50]
mulss xmm0, dword [edx + 0x40]
mov eax, dword [ebp - 0x50]
addss xmm0, dword [eax + 0x3c]
movss dword [ebp - 0xe0], xmm0
jmp 0x10024da3
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
movss xmm0, dword [ecx + 0x3c]
addss xmm0, dword [edx + 0x40]
movss dword [ebp - 0xe0], xmm0
mov eax, dword [ebp - 0x48]
cmp dword [eax], 0x28
jne 0x10024e28
push ecx
movss xmm0, dword [ebp - 0x88]
movss dword [esp], xmm0
call fcn.100eae20
add esp, 4
fstp dword [ebp - 0x4d0]
movss xmm0, dword [ebp - 0x4d0]
mulss xmm0, dword [0x10141350]
movss xmm1, dword [ebp - 0xe0]
subss xmm1, xmm0
push ecx
movss xmm0, dword [ebp - 0x80]
movss dword [esp], xmm0
movss dword [ebp - 0x4d4], xmm1
call fcn.100eae20
add esp, 4
fstp dword [ebp - 0x4d8]
movss xmm0, dword [ebp - 0x4d8]
mulss xmm0, dword [0x101413a8]
movss xmm1, dword [ebp - 0x4d4]
addss xmm1, xmm0
movss dword [ebp - 0xe0], xmm1
xorps xmm0, xmm0
comiss xmm0, dword [ebp - 0xe0]
jbe 0x10024e3d
mov byte [ebp - 0x61], 1
jmp 0x10023dcd
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [ebp - 0xe0]
movss dword [ecx + 0x3c], xmm0
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0x4c]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
sub ecx, 0x32
mov dword [ebp - 0x4dc], ecx
cmp dword [ebp - 0x4dc], 0x31
ja case.0x10024e82.1
mov edx, dword [ebp - 0x4dc]
movzx eax, byte [edx + 0x10026230]
jmp dword [eax*4 + 0x10026214]
push ecx
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50]
add ecx, 0xc
call fcn.10012500
jmp case.0x10024e82.1
push ecx
movss xmm0, dword [ebp - 0x30]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50]
add ecx, 0xc
call fcn.10012500
jmp case.0x10024e82.1
push ecx
movss xmm0, dword [ebp - 0x34]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50]
add ecx, 0xc
call fcn.10012500
jmp case.0x10024e82.1
push ecx
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50]
add ecx, 0xc
call fcn.10012500
jmp case.0x10024e82.1
push ecx
movss xmm0, dword [ebp - 0x3c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50]
add ecx, 0xc
call fcn.10012500
jmp case.0x10024e82.1
push ecx
movss xmm0, dword [ebp - 0x40]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50]
add ecx, 0xc
call fcn.10012500
mov ecx, dword [ebp - 0x48]
movss xmm0, dword [ecx + 0x48]
comiss xmm0, dword [0x1014133c]
jbe 0x10025b52
mov edx, dword [ebp - 0x48]
movss xmm0, dword [0x10141680]
mulss xmm0, dword [edx + 0x48]
mov eax, dword [ebp - 0x50]
movss xmm1, dword [eax + 0x14]
comiss xmm1, xmm0
jbe 0x10024f6f
mov ecx, dword [ebp - 0x48]
mov edx, dword [0x101977fc]
movss xmm0, dword [ecx + 0x48]
mulss xmm0, dword [edx]
mov eax, dword [ebp - 0x50]
movss xmm1, dword [eax + 0x14]
subss xmm1, xmm0
mov ecx, dword [ebp - 0x50]
movss dword [ecx + 0x14], xmm1
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0x6c]
and eax, 1
je 0x1002543b
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x50]
movss xmm0, dword [ecx + 0x20]
comiss xmm0, dword [edx + 8]
jbe case.0x10024fc7.3
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov dword [ebp - 0x4e0], ecx
mov edx, dword [ebp - 0x4e0]
sub edx, 5
mov dword [ebp - 0x4e0], edx
cmp dword [ebp - 0x4e0], 0x1e
ja case.0x10024fc7.3
mov eax, dword [ebp - 0x4e0]
movzx ecx, byte [eax + 0x10026274]
jmp dword [ecx*4 + 0x10026264]
mov byte [ebp - 0x61], 1
call fcn.100176c0
and eax, 1
je 0x1002507e
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x30c]
call fcn.10012460
mov dword [ebp - 0x4e4], eax
mov edx, dword [ebp - 0x50]
movss xmm0, dword [0x101413a8]
addss xmm0, dword [edx + 0x20]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 0x50]
push ecx
movss xmm0, dword [eax + 4]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50]
push ecx
movss xmm0, dword [ecx]
movss dword [esp], xmm0
lea ecx, [ebp - 0x318]
call fcn.10012460
mov dword [ebp - 0x4e8], eax
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
mov edx, dword [ebp - 0x4e4]
push edx
mov eax, dword [ebp - 0x4e8]
push eax
push 0x24
call fcn.10022a00
add esp, 0x24
jmp 0x10025117
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x324]
call fcn.10012460
mov dword [ebp - 0x4ec], eax
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [0x101413a8]
addss xmm0, dword [ecx + 0x20]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x50]
push ecx
movss xmm0, dword [edx + 4]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x50]
push ecx
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x330]
call fcn.10012460
mov dword [ebp - 0x4f0], eax
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
mov ecx, dword [ebp - 0x4ec]
push ecx
mov edx, dword [ebp - 0x4f0]
push edx
push 0x26
call fcn.10022a00
add esp, 0x24
jmp 0x10023dcd
mov byte [ebp - 0x61], 1
call fcn.100176c0
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
and eax, 1
je 0x1002528c
mov eax, dword [ebp - 0xe8]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x100251f3
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x33c]
call fcn.10012460
mov dword [ebp - 0x4f4], eax
mov edx, dword [ebp - 0x50]
movss xmm0, dword [0x101413a8]
addss xmm0, dword [edx + 0x20]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 0x50]
push ecx
movss xmm0, dword [eax + 4]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50]
push ecx
movss xmm0, dword [ecx]
movss dword [esp], xmm0
lea ecx, [ebp - 0x348]
call fcn.10012460
mov dword [ebp - 0x4f8], eax
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
mov edx, dword [ebp - 0x4f4]
push edx
mov eax, dword [ebp - 0x4f8]
push eax
push 0x24
call fcn.10022a00
add esp, 0x24
jmp 0x1002528c
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x354]
call fcn.10012460
mov dword [ebp - 0x4fc], eax
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [0x101413a8]
addss xmm0, dword [ecx + 0x20]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x50]
push ecx
movss xmm0, dword [edx + 4]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x50]
push ecx
movss xmm0, dword [eax]
movss dword [esp], xmm0
lea ecx, [ebp - 0x360]
call fcn.10012460
mov dword [ebp - 0x500], eax
push 0
push 0
push 0
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 0
mov ecx, dword [ebp - 0x4fc]
push ecx
mov edx, dword [ebp - 0x500]
push edx
push 0x26
call fcn.10022a00
add esp, 0x24
jmp 0x10023dcd
mov byte [ebp - 0x61], 1
mov eax, dword [ebp - 0x50]
push eax
lea ecx, [ebp - 0xf8]
call fcn.10012540
movss xmm0, dword [ebp - 0xf0]
addss xmm0, dword [0x10141444]
movss dword [ebp - 0xf0], xmm0
mov ecx, dword [0x101d5bfc]
add ecx, 1
mov dword [0x101d5bfc], ecx
mov edx, dword [0x101d5bfc]
and edx, 7
mov dword [ebp - 0x100], edx
cmp dword [ebp - 0x100], 5
jne 0x1002538a
call fcn.100176c0
and eax, 0xfff
add eax, 0x7d0
mov dword [ebp - 0x504], eax
mov eax, dword [0x101977dc]
mov ecx, dword [eax]
mov dword [ebp - 0x508], ecx
push ecx
movss xmm0, dword [0x10141444]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x504]
push edx
push ecx
movss xmm0, dword [0x101414d0]
movss dword [esp], xmm0
push 0
push 0
push 0xff
push 0xff
push ecx
movss xmm0, dword [0x10141608]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101413c4]
movss dword [esp], xmm0
lea eax, [ebp - 0xf8]
push eax
mov ecx, dword [ebp - 0x508]
push ecx
push 1
call fcn.10016dd0
add esp, 0x38
jmp 0x10025431
cmp dword [ebp - 0x100], 2
jne 0x10025431
call fcn.100176c0
and eax, 0xfff
add eax, 0x1f40
mov dword [ebp - 0x50c], eax
mov edx, dword [0x101977dc]
mov eax, dword [edx]
mov dword [ebp - 0x510], eax
push ecx
movss xmm0, dword [0x10141444]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50c]
push ecx
push ecx
movss xmm0, dword [0x101414d0]
movss dword [esp], xmm0
push 0
push 0
push 0xff
push 0xff
push ecx
movss xmm0, dword [0x10141610]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101413dc]
movss dword [esp], xmm0
lea edx, [ebp - 0xf8]
push edx
mov eax, dword [ebp - 0x510]
push eax
push 1
call fcn.10016dd0
add esp, 0x38
jmp 0x10023dcd
jmp 0x10025b4d
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + 0x6c]
and edx, 2
je 0x1002553c
lea ecx, [ebp - 0x130]
call fcn.1009b5d0
push 0
push 0
push 1
push 0
push 0
push 1
push 1
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x130]
push ecx
push ecx
movss xmm0, dword [ebp - 0x94]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x50]
push edx
call fcn.10016c30
add esp, 0x2c
movzx eax, al
test eax, eax
je 0x10025537
movss xmm0, dword [ebp - 0x128]
comiss xmm0, dword [ebp - 0x94]
jb 0x10025537
movss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x94], xmm0
mov ecx, dword [ebp - 0x48]
cmp dword [ecx], 0xa
je 0x100254d3
mov edx, dword [ebp - 0x48]
cmp dword [edx], 0x49
je 0x100254d3
mov eax, dword [ebp - 0x48]
cmp dword [eax], 0x4a
jne 0x10025537
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [ecx + 0xc]
mulss xmm0, dword [0x10141418]
mov edx, dword [ebp - 0x50]
movss dword [edx + 0xc], xmm0
mov eax, dword [ebp - 0x50]
movss xmm0, dword [eax + 0x10]
mulss xmm0, dword [0x10141418]
mov ecx, dword [ebp - 0x50]
movss dword [ecx + 0x10], xmm0
mov edx, dword [ebp - 0x50]
movss xmm0, dword [edx + 0x14]
mulss xmm0, dword [0x10141620]
mov eax, dword [ebp - 0x50]
movss dword [eax + 0x14], xmm0
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [0x10141370]
comiss xmm0, dword [ecx + 0x14]
jbe 0x10025537
mov edx, dword [ebp - 0x50]
xorps xmm0, xmm0
movss dword [edx + 0x14], xmm0
jmp 0x10025b4d
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x6c]
and ecx, 0x1000
je 0x10025b4d
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
movss xmm0, dword [edx + 0x20]
comiss xmm0, dword [eax + 8]
jbe 0x10025b4d
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x514]
sub eax, 0x47
mov dword [ebp - 0x514], eax
cmp dword [ebp - 0x514], 3
ja case.default.0x10025590
mov ecx, dword [ebp - 0x514]
jmp dword [ecx*4 + 0x10026294]
mov byte [ebp - 0x61], 1
movzx edx, byte [0x101d575f]
test edx, edx
je 0x100255ae
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
jmp 0x100255b4
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0x4a]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [ecx + 0x3c]
movss dword [ebp - 0x51c], xmm0
push ecx
movss xmm0, dword [0x101413c4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101413a8]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x520]
push ecx
movss xmm0, dword [0x10141390]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101415f0]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x524]
push ecx
movss xmm0, dword [0x10141390]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101415f0]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 8
fstp dword [ebp - 0x528]
push ecx
movss xmm0, dword [ebp - 0x520]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x524]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x528]
movss dword [esp], xmm0
lea ecx, [ebp - 0x36c]
call fcn.10012460
mov dword [ebp - 0x52c], eax
mov edx, dword [ebp - 0x50]
movss xmm0, dword [0x101413a8]
addss xmm0, dword [edx + 0x20]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 0x50]
push ecx
movss xmm0, dword [eax + 4]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50]
push ecx
movss xmm0, dword [ecx]
movss dword [esp], xmm0
lea ecx, [ebp - 0x378]
call fcn.10012460
mov dword [ebp - 0x530], eax
push 0
push 0
push 0
mov edx, dword [ebp - 0x518]
push edx
lea eax, [ebp - 0x18]
push eax
push ecx
movss xmm0, dword [ebp - 0x51c]
movss dword [esp], xmm0
push 0
mov ecx, dword [ebp - 0x52c]
push ecx
mov edx, dword [ebp - 0x530]
push edx
push 0x49
call fcn.10022aa0
add esp, 0x28
movzx eax, byte [0x101df857]
test eax, eax
je 0x1002582a
movss xmm0, dword [0x101968ec]
movss dword [ebp - 0x534], xmm0
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [ecx + 0x3c]
movss dword [ebp - 0x538], xmm0
push 0xffffffffffffffff
call fcn.100168f0
add esp, 4
add eax, 0x394
mov dword [ebp - 0x53c], eax
mov dx, word [0x101968e8]
mov word [ebp - 0x53e], dx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 8
push 0
push ecx
movss xmm0, dword [0x10141444]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141444]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x534]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x538]
movss dword [esp], xmm0
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x37c], esp
mov eax, dword [ebp - 0x50]
push eax
call fcn.10012540
mov ecx, dword [ebp - 0x53c]
push ecx
movzx edx, word [ebp - 0x53e]
push edx
push 3
lea ecx, [ebp - 0x1b8]
call fcn.100128c0
mov dword [ebp - 4], 0
push 0x5dc
call fcn.10017440
add esp, 4
add eax, 0x7530
cvtsi2ss xmm0, eax
movss dword [ebp - 0x154], xmm0
mov eax, dword [0x10183020]
mov dword [ebp - 0x544], eax
mov esi, esp
lea ecx, [ebp - 0x1b8]
push ecx
mov ecx, dword [0x1018301c]
call dword [ebp - 0x544]
cmp esi, esp
call fcn.10101c62
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b8]
call fcn.10012940
jmp 0x10025b4d
mov byte [ebp - 0x61], 1
movzx edx, byte [0x101d575f]
test edx, edx
je 0x10025846
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
jmp 0x1002584c
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x50]
movss xmm0, dword [edx + 0x3c]
movss dword [ebp - 0x548], xmm0
push ecx
movss xmm0, dword [0x101413b0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141398]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 4
fstp dword [esp]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x388]
call fcn.10012460
mov dword [ebp - 0x54c], eax
mov eax, dword [ebp - 0x50]
movss xmm0, dword [0x101413a8]
addss xmm0, dword [eax + 0x20]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50]
push ecx
movss xmm0, dword [ecx + 4]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x50]
push ecx
movss xmm0, dword [edx]
movss dword [esp], xmm0
lea ecx, [ebp - 0x394]
call fcn.10012460
mov dword [ebp - 0x550], eax
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x18]
push eax
push ecx
movss xmm0, dword [ebp - 0x548]
movss dword [esp], xmm0
push 0
mov ecx, dword [ebp - 0x54c]
push ecx
mov edx, dword [ebp - 0x550]
push edx
push 0x4a
call fcn.10022aa0
add esp, 0x28
movzx eax, byte [0x101df857]
test eax, eax
je 0x10025a41
movss xmm0, dword [0x101968ec]
movss dword [ebp - 0x554], xmm0
mov ecx, dword [ebp - 0x50]
movss xmm0, dword [ecx + 0x3c]
movss dword [ebp - 0x558], xmm0
push 0xffffffffffffffff
call fcn.100168f0
add esp, 4
add eax, 0x394
mov dword [ebp - 0x55c], eax
mov dx, word [0x101968e8]
mov word [ebp - 0x55e], dx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 8
push 0
push ecx
movss xmm0, dword [0x10141444]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141444]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x554]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x558]
movss dword [esp], xmm0
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x398], esp
mov eax, dword [ebp - 0x50]
push eax
call fcn.10012540
mov ecx, dword [ebp - 0x55c]
push ecx
movzx edx, word [ebp - 0x55e]
push edx
push 3
lea ecx, [ebp - 0x234]
call fcn.100128c0
mov dword [ebp - 4], 1
push 0x1f4
call fcn.10017440
add esp, 4
add eax, 0x2af8
cvtsi2ss xmm0, eax
movss dword [ebp - 0x1d0], xmm0
mov eax, dword [0x10183020]
mov dword [ebp - 0x564], eax
mov esi, esp
lea ecx, [ebp - 0x234]
push ecx
mov ecx, dword [0x1018301c]
call dword [ebp - 0x564]
cmp esi, esp
call fcn.10101c62
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x234]
call fcn.10012940
jmp 0x10025b4d
movzx edx, byte [0x101d575f]
test edx, edx
je 0x10025a59
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
jmp 0x10025a5f
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov byte [ebp - 0x61], 1
jmp 0x10023dcd
mov edx, dword [ebp - 0x50]
movss xmm0, dword [edx + 0x3c]
movss dword [ebp - 0x568], xmm0
push ecx
movss xmm0, dword [0x101413b0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10141398]
movss dword [esp], xmm0
call fcn.10016ac0
add esp, 4
fstp dword [esp]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x3a4]
call fcn.10012460
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x50]
movss xmm0, dword [0x101413a8]
addss xmm0, dword [eax + 0x20]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x50]
push ecx
movss xmm0, dword [ecx + 4]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x50]
push ecx
movss xmm0, dword [edx]
movss dword [esp], xmm0
lea ecx, [ebp - 0x3b0]
call fcn.10012460
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov dword [ebp - 0x574], ecx
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x18]
push edx
push ecx
movss xmm0, dword [ebp - 0x568]
movss dword [esp], xmm0
push 0
mov eax, dword [ebp - 0x56c]
push eax
mov ecx, dword [ebp - 0x570]
push ecx
mov edx, dword [ebp - 0x574]
push edx
call fcn.10022aa0
add esp, 0x28
jmp 0x10025c84
mov eax, dword [ebp - 0x48]
xorps xmm0, xmm0
comiss xmm0, dword [eax + 0x48]
jbe 0x10025ba2
mov ecx, dword [ebp - 0x48]
movss xmm0, dword [0x1014165c]
mulss xmm0, dword [ecx + 0x48]
mov edx, dword [ebp - 0x50]
comiss xmm0, dword [edx + 0x14]
jbe 0x10025b9d
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x101977fc]
movss xmm0, dword [eax + 0x48]
mulss xmm0, dword [ecx]
mov edx, dword [ebp - 0x50]
movss xmm1, dword [edx + 0x14]
subss xmm1, xmm0
mov eax, dword [ebp - 0x50]
movss dword [eax + 0x14], xmm1
jmp 0x10025c84
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + 0x6c]
and edx, 2
je 0x10025c84
lea ecx, [ebp - 0x268]
call fcn.1009b5d0
push 0
push 0
push 1
push 0
push 0
push 0
push 1
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x268]
push ecx
push ecx
movss xmm0, dword [ebp - 0x94]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x50]
push edx
call fcn.10016c30
add esp, 0x2c
movzx eax, al
test eax, eax
je 0x10025c84
movss xmm0, dword [ebp - 0x260]
comiss xmm0, dword [ebp - 0x94]
jb 0x10025c84
movss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x94], xmm0
mov ecx, dword [ebp - 0x48]
cmp dword [ecx], 0x38
jne 0x10025c84
mov byte [ebp - 0x61], 1
push 0
push 0
push 0
push 0
push ecx
movss xmm0, dword [0x101413dc]
movss dword [esp], xmm0
push 0
push ecx
movss xmm0, dword [0x101413a8]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x3bc]
call fcn.10012460
push eax
lea edx, [ebp - 0x9c]
push edx
push 0x1c
call fcn.10022a00
add esp, 0x24
jmp 0x10023dcd
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 0x44]
test ecx, ecx
je 0x10025cc1
push 0xff
push 0
mov edx, dword [ebp - 0x50]
movzx eax, byte [edx + 0x3a]
mov ecx, dword [ebp - 0x50]
movsx edx, word [ecx + 0x44]
sub eax, edx
push eax
call fcn.1002b2f0
add esp, 0xc
mov byte [ebp - 0x575], al
mov eax, dword [ebp - 0x50]
mov cl, byte [ebp - 0x575]
mov byte [eax + 0x3a], cl
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0x46]
test eax, eax
je 0x10025d12
push 0xff
push 0
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx + 0x3b]
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 0x46]
sub edx, ecx
push edx
call fcn.1002b2f0
add esp, 0xc
mov byte [ebp - 0x576], al
mov edx, dword [ebp - 0x50]
mov al, byte [ebp - 0x576]
mov byte [edx + 0x3b], al
mov ecx, dword [ebp - 0x50]
movzx edx, byte [ecx + 0x3b]
test edx, edx
jne 0x10025d12
mov byte [ebp - 0x61], 1
jmp 0x10023dcd
mov eax, dword [ebp - 0x48]
movsx ecx, word [eax + 0x26]
test ecx, ecx
je 0x10025d63
mov edx, dword [ebp - 0x50]
movzx eax, word [edx + 0x32]
mov ecx, dword [ebp - 0x48]
movzx edx, word [ecx + 0x28]
cmp eax, edx
jl 0x10025d51
xor eax, eax
mov ecx, dword [ebp - 0x50]
mov word [ecx + 0x32], ax
mov edx, dword [ebp - 0x48]
movsx eax, word [edx + 0x26]
mov ecx, dword [ebp - 0x50]
movsx edx, word [ecx + 0x30]
add edx, eax
mov eax, dword [ebp - 0x50]
mov word [eax + 0x30], dx
jmp 0x10025d63
mov ecx, dword [ebp - 0x50]
mov dx, word [ecx + 0x32]
add dx, 1
mov eax, dword [ebp - 0x50]
mov word [eax + 0x32], dx
mov ecx, dword [ebp - 0x48]
movss xmm0, dword [ecx + 0x30]
ucomiss xmm0, dword [0x1014133c]
lahf
test ah, 0x44
jnp 0x10025dbf
mov edx, dword [ebp - 0x50]
movzx eax, word [edx + 0x38]
mov ecx, dword [ebp - 0x48]
movzx edx, word [ecx + 0x2a]
cmp eax, edx
jl 0x10025dad
xor eax, eax
mov ecx, dword [ebp - 0x50]
mov word [ecx + 0x38], ax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x48]
movss xmm0, dword [edx + 0x34]
addss xmm0, dword [eax + 0x30]
mov ecx, dword [ebp - 0x50]
movss dword [ecx + 0x34], xmm0
jmp 0x10025dbf
mov edx, dword [ebp - 0x50]
mov ax, word [edx + 0x38]
add ax, 1
mov ecx, dword [ebp - 0x50]
mov word [ecx + 0x38], ax
mov edx, dword [ebp - 0x48]
movzx eax, word [edx + 0x42]
test eax, eax
je 0x10025e52
mov ecx, dword [ebp - 0x50]
movsx edx, word [ecx + 0x48]
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax + 0x42]
cmp edx, ecx
jle 0x10025e40
xor edx, edx
mov eax, dword [ebp - 0x50]
mov word [eax + 0x48], dx
mov ecx, dword [ebp - 0x50]
mov dl, byte [ecx + 0x4e]
add dl, 1
mov byte [ebp - 0x577], dl
mov eax, dword [ebp - 0x50]
mov cl, byte [ebp - 0x577]
mov byte [eax + 0x4e], cl
movzx edx, byte [ebp - 0x577]
mov eax, dword [ebp - 0x48]
movzx ecx, byte [eax + 0x41]
cmp edx, ecx
jle 0x10025e3e
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0x6c]
and eax, 0x40
je 0x10025e2f
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x48]
mov al, byte [edx + 0x40]
mov byte [ecx + 0x4e], al
jmp 0x10025e3e
mov ecx, dword [ebp - 0x50]
mov dl, byte [ecx + 0x4e]
sub dl, 1
mov eax, dword [ebp - 0x50]
mov byte [eax + 0x4e], dl
jmp 0x10025e52
mov ecx, dword [ebp - 0x50]
mov dx, word [ecx + 0x48]
add dx, 1
mov eax, dword [ebp - 0x50]
mov word [eax + 0x48], dx
mov ecx, dword [ebp - 0x50]
movsx edx, word [ecx + 0x4a]
test edx, edx
je 0x10025edc
mov eax, dword [ebp - 0x48]
cmp dword [eax], 0x4f
je 0x10025ea0
mov ecx, dword [ebp - 0x50]
movzx edx, word [ecx + 0x4a]
push edx
call fcn.1002b330
add esp, 4
cwde
mov dword [ebp - 0x57c], eax
mov ecx, dword [ebp - 0x50]
mov dx, word [ecx + 0x4c]
mov word [ebp - 0x57e], dx
movsx eax, word [ebp - 0x57e]
add eax, dword [ebp - 0x57c]
mov ecx, dword [ebp - 0x50]
mov word [ecx + 0x4c], ax
jmp 0x10025edc
mov edx, dword [ebp - 0x50]
movsx eax, word [edx + 0x4c]
mov ecx, dword [ebp - 0x50]
movsx edx, word [ecx + 0x4a]
add eax, edx
cvtsi2ss xmm0, eax
push ecx
movss dword [esp], xmm0
call fcn.10016a50
add esp, 4
call fcn.10102240
mov word [ebp - 0x580], ax
mov eax, dword [ebp - 0x50]
mov cx, word [ebp - 0x580]
mov word [eax + 0x4c], cx
mov edx, dword [ebp - 0x50]
movss xmm0, dword [edx + 0x34]
ucomiss xmm0, dword [0x1014133c]
lahf
test ah, 0x44
jnp 0x1002605c
mov eax, dword [ebp - 0x50]
movsx ecx, word [eax + 0x30]
and ecx, 0x800003ff
jns 0x10025f0c
dec ecx
or ecx, 0xfffffc00
inc ecx
mov dword [ebp - 0x27c], ecx
mov edx, dword [ebp - 0x27c]
push edx
call fcn.100b4be0
add esp, 4
fstp dword [ebp - 0x584]
movss xmm0, dword [ebp - 0x584]
mov eax, dword [ebp - 0x27c]
push eax
movss dword [ebp - 0x588], xmm0
call fcn.100b94e0
add esp, 4
fstp dword [ebp - 0x58c]
movss xmm0, dword [ebp - 0x588]
subss xmm0, dword [ebp - 0x58c]
mov ecx, dword [ebp - 0x50]
mulss xmm0, dword [ecx + 0x34]
movss dword [ebp - 0x280], xmm0
mov edx, dword [ebp - 0x27c]
push edx
call fcn.100b94e0
add esp, 4
fstp dword [ebp - 0x590]
movss xmm0, dword [ebp - 0x590]
mov eax, dword [ebp - 0x27c]
push eax
movss dword [ebp - 0x594], xmm0
call fcn.100b4be0
add esp, 4
fstp dword [ebp - 0x598]
movss xmm0, dword [ebp - 0x594]
addss xmm0, dword [ebp - 0x598]
mov ecx, dword [ebp - 0x50]
mulss xmm0, dword [ecx + 0x34]
movss dword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x50]
add edx, 0x24
push edx
lea ecx, [ebp - 0x9c]
call fcn.100124f0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x284]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x280]
movss dword [esp], xmm0
lea ecx, [ebp - 0x3c8]
call fcn.10012460
push eax
lea ecx, [ebp - 0x9c]
call fcn.100124e0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x284]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x280]
movss dword [esp], xmm0
lea ecx, [ebp - 0x3d4]
call fcn.10012460
mov dword [ebp - 0x59c], eax
mov eax, dword [ebp - 0x59c]
push eax
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
call fcn.100124d0
lea ecx, [ebp - 0x9c]
push ecx
mov ecx, dword [ebp - 0x50]
call fcn.100124d0
jmp 0x10023dcd
jmp 0x10023d8e
push edx
mov ecx, ebp
push eax
lea edx, [0x100260b0]
call fcn.10101c0e
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10101c85
add esp, 0x59c
cmp ebp, esp
call fcn.10101c62
mov esp, ebp
pop ebp
ret