Function at 0x1003ab1e
Capabilities:
Check http status code

Disassembly:
push ebp
sub esp, 0x64
mov eax, 0x1007a43f
call fcn.100521c0
sub esp, 0x198
push ebx
push esi
push edi
push str.HookedRakClientInterface::Send_BitStream_
call fcn.1005070a
mov ebx, dword [ebp + 0x70]
xor eax, eax
pop ecx
inc eax
mov ecx, ebx
push eax
push 8
lea eax, [ebp + 0x67]
push eax
call fcn.100015d1
mov al, byte [ebp + 0x67]
cmp al, 0xcf
jne 0x1003adf3
mov ecx, ebx
call fcn.10001691
xor edi, edi
lea eax, [ebp + 0x67]
inc edi
mov ecx, ebx
push edi
push 8
push eax
call fcn.100015d1
push 0x44
lea eax, [ebp - 0x84]
mov ecx, ebx
push eax
call fcn.10001583
mov eax, dword [0x1015448c]
cmp byte [eax + 0x2d3a], 0
je 0x1003ace1
test byte [ebp - 0x80], 0x80
je 0x1003ace1
push 9
push 0x29
pop esi
push esi
call fcn.1003910a
mov eax, dword [0x1015448c]
push ecx
fstp dword [esp]
push dword [eax + 0x96]
call fcn.1003be25
add esp, 0x10
push 9
push esi
call fcn.1003910a
mov eax, dword [0x1015448c]
push ecx
fstp dword [esp]
push dword [eax + 0x96]
call fcn.1003be25
add esp, 0x10
push 9
push esi
call fcn.1003910a
mov eax, dword [0x1015448c]
push ecx
fstp dword [esp]
push dword [eax + 0x96]
call fcn.1003be25
add esp, 0x10
push 9
push esi
call fcn.1003910a
mov eax, dword [0x1015448c]
push ecx
fstp dword [esp]
push dword [eax + 0x96]
call fcn.1003be25
add esp, 0x10
push 9
push esi
call fcn.1003910a
mov eax, dword [0x1015448c]
push ecx
fstp dword [esp]
push dword [eax + 0x96]
call fcn.1003be25
add esp, 0x10
push 9
push esi
call fcn.1003910a
mov eax, dword [0x1015448c]
push ecx
fstp dword [esp]
push dword [eax + 0x96]
call fcn.1003be25
add esp, 0x10
push 9
push esi
call fcn.1003910a
mov eax, dword [0x1015448c]
push ecx
fstp dword [esp]
push dword [eax + 0x96]
call fcn.1003be25
add esp, 0x10
push 9
push esi
call fcn.1003910a
mov eax, dword [0x1015448c]
push ecx
fstp dword [esp]
push dword [eax + 0x96]
call fcn.1003be25
add esp, 0x10
push 9
push esi
call fcn.1003910a
mov eax, dword [0x1015448c]
push ecx
fstp dword [esp]
push dword [eax + 0x96]
call fcn.1003be25
add esp, 0x10
push 9
push esi
call fcn.1003910a
mov eax, dword [0x1015448c]
push ecx
fstp dword [esp]
push dword [eax + 0x96]
call fcn.1003be25
mov eax, dword [0x1015448c]
add esp, 0x10
cmp dword [eax + 0x14], 0
mov esi, 0x7d0
je 0x1003ad19
mov dword [ebp - 0x5e], 0xbf800000
mov dword [ebp - 0x5a], 0xbf800000
mov dword [ebp - 0x56], 0xbf800000
call fcn.10060f6d
cdq
idiv esi
mov eax, dword [0x1015448c]
mov word [ebp - 0x46], dx
mov dword [ebp - 0x4a], 0x41700000
cmp byte [eax + 0xba], 0
je 0x1003ad41
mov dword [ebp - 0x76], 0x447a0000
call fcn.10060f6d
cdq
idiv esi
mov eax, dword [0x1015448c]
mov word [ebp - 0x46], dx
mov dword [ebp - 0x4a], 0x41700000
cmp byte [eax + 0xbb], 0
je 0x1003ada9
movss xmm1, dword [0x1007c140]
xorps xmm0, xmm0
divss xmm1, dword [0x1007c128]
mov dword [ebp - 0x7e], 0x55700000
mov dword [ebp - 0x7a], 0x55700000
mov dword [ebp - 0x76], 0x55700000
movups xmmword [ebp - 0x72], xmm0
cvttss2si eax, xmm1
movss dword [ebp - 0x5e], xmm1
mov word [ebp - 0x42], ax
mov word [ebp - 0x44], ax
movss dword [ebp - 0x5a], xmm1
movss dword [ebp - 0x56], xmm1
call fcn.10060f6d
cdq
idiv esi
mov eax, dword [0x1015448c]
mov word [ebp - 0x46], dx
mov dword [ebp - 0x4a], 0x41700000
cmp byte [eax + 0x2d3b], 0
je 0x1003adc5
call fcn.10060f6d
cdq
idiv esi
mov dword [ebp - 0x4a], 0x41700000
mov word [ebp - 0x46], dx
mov ecx, ebx
call fcn.10001689
push edi
push 8
lea eax, [ebp + 0x60]
mov byte [ebp + 0x60], 0xcf
push eax
mov ecx, ebx
call fcn.10001714
push 0x44
lea eax, [ebp - 0x84]
mov ecx, ebx
push eax
call fcn.100016c3
mov al, byte [ebp + 0x67]
jmp 0x1003adf6
xor edi, edi
inc edi
cmp al, 0xc8
jne 0x1003ae45
mov ecx, ebx
call fcn.10001691
push edi
push 8
lea eax, [ebp + 0x67]
mov ecx, ebx
push eax
call fcn.100015d1
push 0x3f
lea eax, [ebp - 0x80]
mov ecx, ebx
push eax
call fcn.10001583
mov ecx, ebx
call fcn.10001689
push edi
push 8
lea eax, [ebp + 0x60]
mov byte [ebp + 0x60], 0xc8
push eax
mov ecx, ebx
call fcn.10001714
push 0x3f
lea eax, [ebp - 0x80]
mov ecx, ebx
push eax
call fcn.100016c3
mov al, byte [ebp + 0x67]
cmp al, 0xcb
jne 0x1003b048
mov ecx, ebx
call fcn.10001691
push edi
push 8
lea eax, [ebp + 0x67]
mov ecx, ebx
push eax
call fcn.100015d1
push 0x1f
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.10001583
mov ecx, dword [0x1015448c]
cmp byte [ecx + 0xab], 0
je 0x1003af67
mov ecx, dword [ecx + 0x96]
cmp ecx, 0xffffffff
jne 0x1003ae94
xor al, al
jmp 0x1003bdf6
lea eax, [ebp - 0x33]
push eax
mov eax, dword [0x101d5648]
mov eax, dword [eax + ecx*4 + 0x26]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2a4]
mov eax, dword [eax + 0x14]
add eax, 0x30
push eax
call fcn.1003fcdf
push 0
push 0xffffffffffffffff
call fcn.1002a80b
mov eax, dword [0x1015448c]
push dword [eax + 0x96]
call fcn.10040a12
mov ecx, dword [0x101ea7bc]
add esp, 0x14
mov esi, eax
mov edx, dword [ecx]
call dword [edx]
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
and dword [ebp + 0x50], 0
mov esi, eax
and dword [ebp + 0x54], 0
and dword [ebp + 0x58], 0
push edi
call fcn.1000351e
pop ecx
mov ecx, dword [0x101ea7bc]
mov edi, eax
mov edx, dword [ecx]
call dword [edx]
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
mov edx, dword [esi]
lea eax, [ebp + 0x50]
push eax
mov eax, dword [0x1015448c]
mov ecx, esi
push dword [eax + 0xad]
call dword [edx + 0x74]
mov eax, dword [edi + 0x14]
movss xmm0, dword [ebp + 0x50]
mov ecx, dword [0x1015448c]
subss xmm0, dword [eax + 0x30]
movss dword [ebp - 0x3f], xmm0
mov eax, dword [edi + 0x14]
movss xmm0, dword [ebp + 0x54]
subss xmm0, dword [eax + 0x34]
movss dword [ebp - 0x3b], xmm0
mov eax, dword [edi + 0x14]
xor edi, edi
movss xmm0, dword [ebp + 0x58]
inc edi
subss xmm0, dword [eax + 0x38]
movss dword [ebp - 0x37], xmm0
cmp byte [ecx + 0xa9], 0
je 0x1003afd4
mov ecx, dword [ecx + 0x96]
lea eax, [ebp - 0x33]
push eax
mov eax, dword [0x101d5648]
mov eax, dword [eax + ecx*4 + 0x26]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2a4]
mov eax, dword [eax + 0x14]
add eax, 0x30
push eax
call fcn.1003fcdf
lea eax, [ebp - 0x3f]
push eax
mov eax, dword [0x1015448c]
mov ecx, dword [eax + 0x96]
mov eax, dword [0x101d5648]
mov eax, dword [eax + ecx*4 + 0x26]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2a4]
mov eax, dword [eax + 0x14]
add eax, 0x30
push eax
call fcn.1003fcdf
mov ecx, dword [0x1015448c]
add esp, 0x10
cmp byte [ecx + 0xaa], 0
je 0x1003b01f
mov ecx, dword [ecx + 0x96]
lea eax, [ebp - 0x33]
push eax
mov eax, dword [0x101d5648]
mov eax, dword [eax + ecx*4 + 0x26]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2a4]
mov eax, dword [eax + 0x14]
add eax, 0x30
push eax
call fcn.1003fcdf
pop ecx
pop ecx
mov dword [ebp - 0x3f], 0x3f000000
mov dword [ebp - 0x3b], 0x3f000000
mov dword [ebp - 0x37], 0x3f000000
mov ecx, ebx
call fcn.10001689
push edi
push 8
lea eax, [ebp + 0x60]
mov byte [ebp + 0x60], 0xcb
push eax
mov ecx, ebx
call fcn.10001714
push 0x1f
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.100016c3
mov al, byte [ebp + 0x67]
cmp al, 0xce
jne 0x1003bde0
push str.ID_BULLET_SYNC
call fcn.1005070a
pop ecx
push 0x28
lea eax, [ebp + 0x24]
mov ecx, ebx
push eax
call fcn.10001583
mov ecx, dword [0x1015448c]
cmp byte [ecx + 0xa7], 0
je 0x1003b10e
and dword [ebp + 0x4c], 0
mov edi, 0x101b4548
mov dword [ebp + 0x18], edi
push 0x16
mov dword [ebp + 0x1c], edi
mov edi, dword [ebp + 0x4c]
pop ebx
mov ecx, dword [0x1011a4d4]
push edi
push ebx
mov eax, dword [ecx]
call dword [eax + 0xa0]
mov esi, eax
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x24]
mov eax, dword [ebp + 0x1c]
mov edx, dword [esi]
push ecx
mov ecx, esi
mov dword [esp], 0x41200000
fstp dword [eax]
call dword [edx + 0x28]
add dword [ebp + 0x1c], 0x10
inc ebx
cmp ebx, 0x20
jle 0x1003b090
inc edi
mov dword [ebp + 0x4c], edi
mov edi, dword [ebp + 0x18]
add edi, 4
mov dword [ebp + 0x18], edi
cmp edi, 0x101b4554
jle 0x1003b087
push 0
push 0xffffffffffffffff
call fcn.1002a80b
pop ecx
pop ecx
mov ecx, dword [0x101ea7bc]
mov esi, eax
mov edx, dword [ecx]
call dword [edx]
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
mov ebx, dword [ebp + 0x70]
mov dword [esi + 0x540], 0x42c80000
mov ecx, dword [0x1015448c]
xor eax, eax
inc eax
cmp byte [ecx + 0xa8], 0
je 0x1003b1b8
cmp dword [ecx], eax
jne 0x1003b1b8
push 0
push 0xffffffffffffffff
call fcn.1002a80b
mov esi, eax
pop ecx
pop ecx
movzx ecx, byte [esi + 0x718]
imul ecx, ecx, 0x1c
mov eax, dword [ecx + esi + 0x5a0]
cmp eax, 0x16
jl 0x1003b14e
cmp eax, 0x18
jle 0x1003b16c
cmp eax, 0x1a
jl 0x1003b158
cmp eax, 0x20
jle 0x1003b16c
cmp eax, 0x25
jl 0x1003b162
cmp eax, 0x26
jle 0x1003b16c
xor edx, edx
add eax, 0xffffffd7
inc edx
cmp eax, edx
ja 0x1003b1a8
mov ecx, dword [0x101ea7c4]
mov eax, dword [ecx]
call dword [eax + 0x6c]
movzx ecx, byte [esi + 0x718]
mov edi, eax
imul ecx, ecx, 0x1c
xor eax, eax
inc eax
cmp dword [ecx + esi + 0x5a8], eax
jne 0x1003b1ab
mov ecx, dword [0x101ea7c4]
push 0
mov edx, dword [ecx]
call dword [edx + 0x70]
mov ecx, dword [0x101ea7c4]
push edi
mov eax, dword [ecx]
call dword [eax + 0x70]
xor eax, eax
inc eax
mov ecx, dword [0x1015448c]
mov byte [0x101b45f8], al
jmp 0x1003b1bf
mov byte [0x101b45f8], 0
cmp byte [ecx + 0xa0], 0
je 0x1003bdb7
push 2
pop edx
cmp dword [ecx + 0xa1], eax
jne 0x1003b6c8
movzx eax, word [ecx + 0x96]
mov word [ebp + 0x25], ax
mov ecx, eax
mov eax, dword [0x101d5648]
mov eax, dword [eax + ecx*4 + 0x26]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax + 0x2a4]
test esi, esi
je 0x1003b637
push 0
push 0xffffffffffffffff
call fcn.1002a80b
pop ecx
pop ecx
mov ecx, dword [0x101ea7bc]
mov dword [ebp + 0x5c], eax
mov edx, dword [ecx]
call dword [edx]
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
and dword [ebp + 0x50], 0
lea ecx, [ebp + 0x50]
and dword [ebp + 0x54], 0
and dword [ebp + 0x58], 0
mov edx, dword [eax]
push ecx
mov ecx, dword [0x1015448c]
push dword [ecx + 0xad]
mov ecx, eax
call dword [edx + 0x74]
push 0
push 0xffffffffffffffff
call fcn.1002a80b
pop ecx
pop ecx
mov ecx, dword [esi + 0x14]
mov edi, eax
mov edx, dword [edi + 0x14]
movss xmm0, dword [ecx + 0x34]
movss xmm2, dword [ecx + 0x30]
movss xmm3, dword [ecx + 0x38]
movss dword [ebp - 0x14], xmm0
subss xmm0, dword [edx + 0x34]
movss dword [ebp - 0x10], xmm2
subss xmm2, dword [edx + 0x30]
movss dword [ebp + 0xc], xmm3
subss xmm3, dword [edx + 0x38]
movaps xmm1, xmm0
movss dword [ebp + 0x10], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm2
movss dword [ebp + 0x4c], xmm2
mulss xmm0, xmm2
movss dword [ebp + 0x14], xmm3
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [ebp + 0x18], xmm0
call fcn.10060f6d
movss xmm1, dword [0x1007c140]
divss xmm1, dword [ebp + 0x18]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm2, xmm1
mulss xmm0, dword [0x10089ed0]
mulss xmm2, dword [ebp + 0x4c]
addss xmm0, dword [0x1007c138]
mulss xmm2, xmm0
movss dword [ebp + 0x1c], xmm2
movaps xmm2, xmm1
mulss xmm2, dword [ebp + 0x10]
mulss xmm1, dword [ebp + 0x14]
mulss xmm2, xmm0
mulss xmm1, xmm0
movss xmm0, dword [esi + 0x544]
ucomiss xmm0, dword [0x1007c128]
movss dword [ebp + 0x4c], xmm2
movss dword [ebp + 0x18], xmm1
lahf
test ah, 0x44
jnp 0x1003b5f8
movzx eax, word [ebp + 0x25]
push eax
call fcn.10040c0f
movzx ecx, byte [ebp + 0x24]
cmp eax, 0x11
push 1
pop eax
cmove ecx, eax
movzx eax, word [ebp + 0x25]
push eax
mov byte [ebp + 0x24], cl
call fcn.10040c0f
movzx ecx, byte [ebp + 0x24]
cmp eax, 0x13
movzx eax, word [ebp + 0x25]
push 2
pop esi
cmove ecx, esi
push eax
mov byte [ebp + 0x24], cl
call fcn.10040c0f
movzx ecx, byte [ebp + 0x24]
cmp eax, 0x12
mov edx, dword [0x101d5648]
cmove ecx, esi
movzx esi, word [ebp + 0x25]
mov byte [ebp + 0x24], cl
push 1
movzx ecx, cl
mov eax, dword [edx + esi*4 + 0x26]
mov eax, dword [eax + 8]
cmp dword [eax + 0x20], 0
pop eax
cmovne ecx, eax
mov eax, dword [0x1015448c]
mov byte [ebp + 0x24], cl
push esi
mov eax, dword [eax + 0x96]
mov eax, dword [edx + eax*4 + 0x26]
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0xac]
movss dword [ebp + 0x14], xmm0
call fcn.10040c0f
add esp, 0x10
cmp eax, 0x13
je 0x1003b4ca
movzx eax, word [ebp + 0x25]
push eax
call fcn.10040c0f
pop ecx
cmp eax, 0x12
je 0x1003b4ca
movss xmm0, dword [ebp + 0x14]
comiss xmm0, dword [0x10089f94]
ja 0x1003b4ca
call fcn.10060f6d
movss xmm1, dword [ebp + 0x1c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10089fa4]
addss xmm0, dword [0x1008194c]
subss xmm1, xmm0
movss dword [ebp + 0x3f], xmm1
call fcn.10060f6d
movss xmm1, dword [ebp + 0x4c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10089fa4]
addss xmm0, dword [0x1008194c]
subss xmm1, xmm0
movss dword [ebp + 0x43], xmm1
call fcn.10060f6d
movss xmm1, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x5c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10089fa4]
addss xmm0, dword [0x1008194c]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x10]
addss xmm0, dword [ebp + 0x50]
movss dword [ebp + 0x47], xmm1
movss dword [ebp + 0x33], xmm0
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [ebp + 0x54]
movss dword [ebp + 0x37], xmm0
movss xmm0, dword [ebp + 0xc]
addss xmm0, dword [ebp + 0x58]
movss dword [ebp + 0x3b], xmm0
mov eax, dword [ecx + 0x14]
movss xmm0, dword [eax + 0x30]
movss dword [ebp + 0x27], xmm0
mov eax, dword [ecx + 0x14]
movss xmm0, dword [eax + 0x34]
movss dword [ebp + 0x2b], xmm0
mov eax, dword [ecx + 0x14]
movss xmm0, dword [eax + 0x38]
jmp 0x1003b5e4
mov eax, dword [0x101d5648]
mov eax, dword [eax + 0x1e]
movss xmm0, dword [eax + 0xba]
movss dword [ebp + 0x5c], xmm0
movss xmm0, dword [eax + 0xbe]
movss dword [ebp + 0x14], xmm0
movss xmm0, dword [eax + 0xc2]
movss dword [ebp + 0x10], xmm0
call fcn.10060f6d
movss xmm0, dword [ebp + 0x1c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10089fa4]
addss xmm1, dword [0x1008194c]
subss xmm0, xmm1
movss dword [ebp + 0x3f], xmm0
call fcn.10060f6d
movss xmm0, dword [ebp + 0x4c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10089fa4]
addss xmm1, dword [0x1008194c]
subss xmm0, xmm1
movss dword [ebp + 0x43], xmm0
call fcn.10060f6d
movss xmm0, dword [ebp + 0x18]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10089fa4]
addss xmm1, dword [0x1008194c]
subss xmm0, xmm1
movss dword [ebp + 0x47], xmm0
movss xmm0, dword [ebp - 0x10]
addss xmm0, dword [ebp + 0x50]
addss xmm0, dword [ebp + 0x1c]
movss dword [ebp + 0x33], xmm0
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [ebp + 0x54]
addss xmm0, dword [ebp + 0x4c]
movss dword [ebp + 0x37], xmm0
movss xmm0, dword [ebp + 0xc]
addss xmm0, dword [ebp + 0x58]
addss xmm0, dword [ebp + 0x18]
movss dword [ebp + 0x3b], xmm0
mov eax, dword [edi + 0x14]
movss xmm0, dword [ebp + 0x5c]
addss xmm0, dword [eax + 0x30]
movss dword [ebp + 0x27], xmm0
mov eax, dword [edi + 0x14]
movss xmm0, dword [ebp + 0x14]
addss xmm0, dword [eax + 0x34]
movss dword [ebp + 0x2b], xmm0
mov eax, dword [edi + 0x14]
movss xmm0, dword [ebp + 0x10]
addss xmm0, dword [eax + 0x38]
mov ecx, dword [0x101d5628]
lea eax, [ebp + 0x33]
push eax
movss dword [ebp + 0x2f], xmm0
call fcn.100403ce
mov eax, dword [0x1015448c]
cmp byte [eax + 0xa5], 0
je 0x1003b637
cmp byte [eax + 0xa6], 0
je 0x1003b637
mov ecx, dword [0x101d5628]
mov eax, 0xffff
and dword [ebp + 0x3f], 0
and dword [ebp + 0x43], 0
and dword [ebp + 0x47], 0
mov word [ebp + 0x25], ax
lea eax, [ebp + 0x33]
push eax
mov byte [ebp + 0x24], 0
call fcn.100403ce
call fcn.10060f6d
push 0x64
cdq
pop ecx
idiv ecx
mov ecx, dword [0x1015448c]
inc dl
movzx eax, dl
cmp eax, dword [ecx + 0x9b]
jge 0x1003b6c5
mov ecx, ebx
call fcn.10001689
xor eax, eax
mov byte [ebp + 0x70], 0xce
inc eax
mov ecx, ebx
push eax
push 8
lea eax, [ebp + 0x70]
push eax
call fcn.10001714
push 0x28
lea eax, [ebp + 0x24]
mov ecx, ebx
push eax
call fcn.100016c3
mov ecx, dword [0x101d5628]
xor eax, eax
push 0
push 7
inc eax
push eax
push ebx
call fcn.10040329
mov eax, dword [0x101d5648]
push 9
mov eax, dword [eax + 0x1e]
movzx eax, byte [eax + 0x18d]
push eax
call fcn.1003910a
mov eax, dword [0x1015448c]
push ecx
fstp dword [esp]
push dword [eax + 0x96]
call fcn.1003be25
add esp, 0x10
jmp 0x1003ae8d
push 2
pop edx
push 3
pop esi
cmp dword [ecx + 0xa1], edx
jne 0x1003b8ff
push dword [ecx + 0x96]
call fcn.10040a12
mov ecx, dword [0x101d5648]
mov esi, eax
movzx ecx, word [ecx]
push ecx
call fcn.10040a12
mov ecx, dword [esi + 0x14]
mov edi, eax
lea eax, [ebp + 0x50]
add ecx, 0x30
push eax
push ecx
call fcn.1003fcdf
lea eax, [ebp]
push eax
lea eax, [ebp + 0x50]
push eax
mov eax, dword [0x1015448c]
push dword [eax + 0x96]
call fcn.1003927e
mov ecx, dword [edi + 0x14]
mov byte [ebp + 0x60], al
add ecx, 0x30
lea eax, [ebp - 0x20]
push eax
push ecx
call fcn.1003fcdf
mov ecx, dword [0x1015448c]
movzx eax, word [ecx + 0x96]
push eax
mov word [ebp + 0x25], ax
call fcn.10040c0f
movzx ecx, byte [ebp + 0x24]
cmp eax, 0x11
push 1
pop eax
cmove ecx, eax
movzx eax, word [ebp + 0x25]
push eax
mov byte [ebp + 0x24], cl
call fcn.10040c0f
movzx ecx, byte [ebp + 0x24]
cmp eax, 0x13
movzx eax, word [ebp + 0x25]
push 2
pop esi
cmove ecx, esi
push eax
mov byte [ebp + 0x24], cl
call fcn.10040c0f
movzx edx, byte [ebp + 0x24]
add esp, 0x30
movzx ecx, word [ebp + 0x25]
cmp eax, 0x12
mov eax, dword [0x101d5648]
movss xmm0, dword [ebp + 0x50]
cmove edx, esi
addss xmm0, dword [ebp]
mov byte [ebp + 0x24], dl
mov eax, dword [eax + ecx*4 + 0x26]
push 3
movzx ecx, dl
pop esi
mov eax, dword [eax + 8]
cmp dword [eax + 0x20], 0
movss dword [ebp + 0x3f], xmm0
movss xmm0, dword [ebp + 0x54]
cmovne ecx, esi
addss xmm0, dword [ebp + 4]
and dword [ebp + 0x33], 0
and dword [ebp + 0x37], 0
and dword [ebp + 0x3b], 0
mov byte [ebp + 0x24], cl
movss dword [ebp + 0x43], xmm0
movss xmm0, dword [ebp + 0x58]
addss xmm0, dword [ebp + 8]
movss dword [ebp + 0x47], xmm0
mov eax, dword [edi + 0x14]
movss xmm0, dword [eax + 0x30]
movss dword [ebp + 0x27], xmm0
mov eax, dword [edi + 0x14]
mov ecx, dword [0x101d5628]
movss xmm0, dword [eax + 0x34]
movss dword [ebp + 0x2b], xmm0
mov eax, dword [edi + 0x14]
movss xmm0, dword [eax + 0x38]
lea eax, [ebp + 0x33]
push eax
movss dword [ebp + 0x2f], xmm0
call fcn.100403ce
mov ecx, dword [0x1015448c]
cmp byte [ecx + 0xa5], 0
je 0x1003b8a8
cmp byte [ecx + 0xa6], 0
je 0x1003b8a8
mov byte [ebp + 0x24], 0
mov eax, 0xffff
mov word [ebp + 0x25], ax
mov ecx, dword [ecx + 0x96]
mov eax, dword [0x101d5648]
mov eax, dword [eax + ecx*4 + 0x26]
lea ecx, [ebp]
push ecx
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2a4]
mov eax, dword [eax + 0x14]
add eax, 0x30
push eax
call fcn.1003fcdf
movss xmm2, dword [ebp]
lea eax, [ebp + 0x33]
movss xmm1, dword [ebp + 4]
movss xmm0, dword [ebp + 8]
pop ecx
pop ecx
mov ecx, dword [0x101d5628]
push eax
movss dword [ebp + 0x33], xmm2
movss dword [ebp + 0x37], xmm1
movss dword [ebp + 0x3b], xmm0
movss dword [ebp + 0x3f], xmm2
movss dword [ebp + 0x43], xmm1
movss dword [ebp + 0x47], xmm0
call fcn.100403ce
call fcn.10060f6d
push 0x64
cdq
pop ecx
idiv ecx
mov ecx, dword [0x1015448c]
inc dl
movzx eax, dl
cmp eax, dword [ecx + 0x9b]
jge 0x1003b8ff
mov ecx, ebx
call fcn.10001689
xor eax, eax
mov byte [ebp + 0x70], 0xce
inc eax
mov ecx, ebx
push eax
push 8
lea eax, [ebp + 0x70]
push eax
call fcn.10001714
push 0x28
lea eax, [ebp + 0x24]
mov ecx, ebx
push eax
call fcn.100016c3
mov cl, byte [ebp + 0x60]
movzx eax, cl
push eax
movzx eax, byte [ebp + 0x4b]
jmp 0x1003b6a3
cmp dword [ecx + 0xa1], esi
jne 0x1003bdb7
cmp dword [ecx + 0x96], 0xffffffff
jne 0x1003b91c
xor eax, eax
inc eax
jmp 0x1003bdf6
lea ecx, [ebp - 0x1a4]
call fcn.100014cd
mov ecx, dword [0x1015448c]
mov edi, dword [0x101d5648]
and dword [ebp - 4], 0
mov eax, dword [ecx + 0x96]
mov eax, dword [edi + eax*4 + 0x26]
mov eax, dword [eax + 8]
movzx eax, byte [eax + 0x1a]
sub eax, 0x11
je 0x1003b9bb
sub eax, 1
je 0x1003b98c
sub eax, 1
jne 0x1003b9ea
lea edx, [ebp + 0x50]
mov eax, 0x98
mov ebx, edx
sub eax, ebx
mov ebx, dword [ebp + 0x70]
mov dword [ebp + 0x5c], eax
mov eax, dword [ecx + 0x96]
mov eax, dword [edi + eax*4 + 0x26]
mov eax, dword [eax + 8]
add eax, dword [ebp + 0x5c]
mov eax, dword [eax + edx]
mov dword [edx], eax
lea edx, [edx + 4]
sub esi, 1
jne 0x1003b96d
jmp 0x1003b9ea
lea edx, [ebp + 0x50]
push 0x30
mov ebx, edx
pop eax
sub eax, ebx
mov ebx, dword [ebp + 0x70]
mov dword [ebp + 0x5c], eax
mov eax, dword [ecx + 0x96]
mov eax, dword [edi + eax*4 + 0x26]
mov eax, dword [eax + 8]
add eax, dword [ebp + 0x5c]
mov eax, dword [eax + edx]
mov dword [edx], eax
lea edx, [edx + 4]
sub esi, 1
jne 0x1003b99c
jmp 0x1003b9ea
lea edx, [ebp + 0x50]
mov eax, 0x120
mov ebx, edx
sub eax, ebx
mov ebx, dword [ebp + 0x70]
mov dword [ebp + 0x5c], eax
mov eax, dword [ecx + 0x96]
mov eax, dword [edi + eax*4 + 0x26]
mov eax, dword [eax + 8]
add eax, dword [ebp + 0x5c]
mov eax, dword [eax + edx]
mov dword [edx], eax
lea edx, [edx + 4]
sub esi, 1
jne 0x1003b9cd
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp + 0x50]
push eax
push dword [ecx + 0x96]
call fcn.1003927e
movzx eax, al
mov dword [ebp + 0xc], eax
mov eax, dword [0x1015448c]
push dword [eax + 0x96]
call fcn.10040a12
mov edi, eax
lea eax, [ebp + 0x50]
push eax
mov ecx, dword [edi + 0x14]
add ecx, 0x30
push ecx
call fcn.1003fcdf
mov ecx, dword [0x101ea7bc]
add esp, 0x18
mov edx, dword [ecx]
call dword [edx]
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
mov ecx, dword [0x101ea7c0]
xor edx, edx
inc edx
push edx
mov eax, dword [ecx]
call dword [eax + 0x74]
and dword [ebp], 0
mov esi, eax
and dword [ebp + 4], 0
xor eax, eax
and dword [ebp + 8], 0
inc eax
push eax
call fcn.1000351e
lea ecx, [ebp - 0x20]
push ecx
mov eax, dword [eax + 0x14]
add eax, 0x30
push eax
call fcn.1003fcdf
mov edx, dword [esi]
lea eax, [ebp]
add esp, 0xc
mov ecx, esi
push eax
mov eax, dword [0x1015448c]
push dword [eax + 0xad]
call dword [edx + 0x74]
movss xmm0, dword [ebp - 0x20]
mov eax, dword [0x1015448c]
movss dword [ebp + 0x5c], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp + 0x14], xmm0
movss xmm0, dword [ebp - 0x18]
mov ax, word [eax + 0x96]
mov word [ebp + 0x25], ax
movss dword [ebp + 0x10], xmm0
movss xmm0, dword [edi + 0x544]
ucomiss xmm0, dword [0x1007c128]
lahf
test ah, 0x44
jnp 0x1003bc7b
call fcn.10060f6d
push 9
cdq
pop esi
idiv esi
push ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10060f6d
cdq
idiv esi
push ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1003c01a
fstp st(0)
call fcn.10060f6d
cdq
add esp, 4
idiv esi
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10060f6d
cdq
idiv esi
push ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1003c01a
fstp st(0)
call fcn.10060f6d
cdq
add esp, 4
idiv esi
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10060f6d
cdq
idiv esi
push ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1003c01a
movzx eax, word [ebp + 0x25]
fstp st(0)
push eax
call fcn.10040c0f
mov eax, dword [0x1015448c]
lea ecx, [ebp - 0x1a4]
add esp, 0xc
movzx eax, word [eax + 0x96]
mov dword [ebp + 0x70], eax
xor eax, eax
inc eax
push eax
push 0x10
lea eax, [ebp + 0x70]
push eax
call fcn.10001714
cvttss2si ecx, dword [ebp + 0x14]
push 2
pop eax
mov byte [ebp + 0x24], al
cvttss2si eax, dword [ebp + 0x5c]
cvttss2si edx, dword [ebp + 0x10]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, qword [0x10089f68]
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x33], xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
subsd xmm0, qword [0x10089f60]
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x37], xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
subsd xmm0, qword [0x10089f68]
cvtpd2ps xmm0, xmm0
movss dword [ebp + 0x3b], xmm0
call fcn.10060f6d
movss xmm0, dword [0x10089fa8]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10089ecc]
addss xmm1, xmm1
subss xmm0, xmm1
movss dword [ebp + 0x3f], xmm0
call fcn.10060f6d
movss xmm0, dword [0x10089fa8]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10089ecc]
addss xmm1, xmm1
subss xmm0, xmm1
movss dword [ebp + 0x43], xmm0
call fcn.10060f6d
movss xmm1, dword [0x10089fa8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10089ecc]
addss xmm0, xmm0
subss xmm1, xmm0
movss dword [ebp + 0x47], xmm1
jmp 0x1003bc7e
push 9
pop esi
call fcn.10060f6d
push 0x64
cdq
pop ecx
idiv ecx
mov ecx, dword [0x1015448c]
inc dl
movzx eax, dl
cmp eax, dword [ecx + 0x9b]
jge 0x1003bda8
mov ecx, dword [ecx + 0x96]
mov eax, dword [0x101d5648]
mov eax, dword [eax + ecx*4 + 0x26]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2a4]
movss xmm0, dword [eax + 0x540]
ucomiss xmm0, dword [0x1007c128]
lahf
test ah, 0x44
jnp 0x1003bda8
mov ecx, ebx
call fcn.10001689
xor eax, eax
mov byte [ebp + 0x70], 0xce
inc eax
mov ecx, ebx
push eax
push 8
lea eax, [ebp + 0x70]
push eax
call fcn.10001714
push 0x28
lea eax, [ebp + 0x24]
mov ecx, ebx
push eax
call fcn.100016c3
mov ecx, dword [0x101d5628]
xor eax, eax
push 0
push 7
inc eax
push eax
push ebx
call fcn.10040329
movzx eax, word [ebp + 0x25]
push eax
call fcn.10040c0f
pop ecx
cmp eax, 0x12
je 0x1003bd5c
movzx eax, word [ebp + 0x25]
push eax
call fcn.10040c0f
pop ecx
cmp eax, 0x13
je 0x1003bd5c
mov eax, dword [0x101d5648]
mov eax, dword [eax + 0x1e]
mov bl, byte [eax + 0x18d]
call fcn.1003910a
mov eax, dword [0x1015448c]
fstp dword [ebp + 0x70]
movss xmm0, dword [ebp + 0x70]
mov ecx, dword [eax + 0x96]
mov eax, dword [ebp + 0xc]
jmp 0x1003bd84
mov eax, dword [0x101d5648]
mov eax, dword [eax + 0x1e]
mov bl, byte [eax + 0x18d]
call fcn.1003910a
mov eax, dword [0x1015448c]
fstp dword [ebp + 0x70]
movss xmm0, dword [ebp + 0x70]
mov ecx, dword [eax + 0x96]
mov eax, esi
push eax
movzx eax, bl
push eax
push ecx
movss dword [esp], xmm0
push ecx
call fcn.1003be25
add esp, 0x10
lea ecx, [ebp - 0x1a4]
call fcn.100014e8
jmp 0x1003ae8d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a4]
call fcn.100014e8
mov ecx, ebx
call fcn.10001689
xor eax, eax
mov byte [ebp + 0x20], 0xce
inc eax
mov ecx, ebx
push eax
push 8
lea eax, [ebp + 0x20]
push eax
call fcn.10001714
push 0x28
lea eax, [ebp + 0x24]
mov ecx, ebx
push eax
call fcn.100016c3
mov eax, dword [0x101d5628]
push dword [ebp + 0x7c]
push dword [ebp + 0x78]
mov ecx, dword [eax]
push dword [ebp + 0x74]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add ebp, 0x68
leave
ret 0x10