Function at 0x100ca640
Capabilities:
Authenticate hmac
Encode data using base64

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101abc77
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3e8
mov eax, dword [0x10242040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x31c], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x310], eax
mov eax, dword [0x103362e0]
cmp byte [eax], 0
jne 0x100ca6a9
mov eax, dword [0x1033629c]
mov dword [eax + 0x1e2a54], 0
mov ecx, dword [0x1033629c]
lea ecx, [ecx + 0x1e2a80]
call fcn.10015370
mov eax, dword [0x1033629c]
mov byte [eax + 0x1e2a18], 0
mov eax, dword [0x103362e0]
cmp byte [eax], 0
mov eax, dword [0x10335fb8]
je 0x100ca6e2
cmp dword [eax + 0x83], 0
jne case.0x100ca7e8.0
cmp byte [eax + 0x81], 0
je case.0x100ca7e8.0
mov eax, dword [0x10336270]
mov edx, dword [eax + 8]
test edx, edx
je case.0x100ca7e8.0
cmp byte [edx + 0x25f], 0
jne case.0x100ca7e8.0
cmp dword [edx + 0x100], 0
je case.0x100ca7e8.0
mov esi, dword [eax + 0x14]
test esi, esi
je case.0x100ca7e8.0
mov ecx, esi
call fcn.10053090
test al, al
jne case.0x100ca7e8.0
mov dword [ebp - 0x2f4], esi
mov dword [ebp - 4], 0
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x734]
call eax
mov dword [ebp - 4], 0xffffffff
test eax, eax
je case.0x100ca7e8.0
mov eax, dword fs:[0x2c]
mov ecx, dword [0x103357d4]
mov edx, dword [0x10335848]
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0x2e8], edi
cmp edx, dword [edi + 4]
jle 0x100ca7d3
push 0x10335848
call fcn.1014be59
mov edx, dword [0x10335848]
add esp, 4
cmp edx, 0xffffffff
jne 0x100ca7d3
push 0
push 0x8d29f550
mov dword [ebp - 4], 1
mov ecx, dword [0x10336104]
push 0x19c23329
call fcn.100bb3f0
push 0x10335848
mov dword [0x1033584c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
mov edx, dword [0x10335848]
add esp, 4
mov eax, dword [0x1033584c]
movsx eax, word [eax + esi]
cmp eax, 0x54
ja case.0x100ca7e8.1
movzx eax, byte [eax + 0x100cef20]
jmp dword [eax*4 + 0x100cef18]
mov eax, dword [0x10335850]
mov al, byte [eax + 0x20]
test al, al
jne case.0x100ca7e8.0
mov eax, dword [0x10336270]
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 0x104]
shr ecx, 6
test cl, 1
jne case.0x100ca7e8.0
mov esi, dword [eax + 0x14]
cmp edx, dword [edi + 4]
jle 0x100ca876
push 0x10335848
call fcn.1014be59
add esp, 4
cmp dword [0x10335848], 0xffffffff
jne 0x100ca871
push 0
push 0x8d29f550
mov dword [ebp - 4], 2
mov ecx, dword [0x10336104]
push 0x19c23329
call fcn.100bb3f0
push 0x10335848
mov dword [0x1033584c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10336270]
mov ecx, dword [0x1033584c]
cmp word [esi + ecx], 0x40
je 0x100ca88a
xor dl, dl
jmp 0x100cabdf
mov ecx, dword [0x103362e0]
cmp byte [ecx], 0
je 0x100ca8a6
mov eax, dword [ebp - 0x310]
and dword [eax + 0x30], 0xfffffffe
xor dl, dl
jmp 0x100cabdf
mov esi, dword [eax + 0x14]
mov eax, dword [0x10335c84]
cmp eax, dword [edi + 4]
jle 0x100ca903
push 0x10335c84
call fcn.1014be59
add esp, 4
cmp dword [0x10335c84], 0xffffffff
jne 0x100ca903
push 0
push 0xaa34c129
mov dword [ebp - 4], 3
mov ecx, dword [0x10336104]
push 0x9be3441b
call fcn.100bb3f0
push 0x10335c84
mov dword [0x10335c7c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c7c]
cmp dword [esi + eax], 0
jg 0x100ca915
xor dl, dl
jmp 0x100cabdf
mov eax, dword [0x103358d0]
mov edi, dword [0x103362e0]
mov ecx, dword [eax + 0x4d30]
mov esi, dword [eax + 0x4d2c]
inc ecx
add esi, ecx
lea ecx, [ebp - 0x305]
call fcn.1009cda0
mov ecx, dword [eax + 0x1c]
mov ecx, dword [ecx + 0x30]
xor ecx, eax
mov eax, dword [edi + 4]
sub eax, esi
add ecx, 0xfffffffe
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jge 0x100ca95a
xor dl, dl
jmp 0x100cabdf
mov ecx, dword [0x10336270]
mov eax, dword [0x10335828]
movd xmm1, dword [ecx + 0x58]
movss xmm2, dword [eax + 0x20]
mov edx, dword [ecx + 8]
cvtdq2ps xmm1, xmm1
movss xmm0, dword [edx + 0x2d80]
mulss xmm1, xmm2
comiss xmm0, xmm1
movss dword [ebp - 0x2fc], xmm1
jbe 0x100ca995
xor dl, dl
jmp 0x100cabdf
movss xmm1, dword [0x1022c720]
divss xmm1, xmm2
movaps xmm0, xmm1
mulss xmm1, dword [ebp - 0x2fc]
mulss xmm0, dword [0x1022c68c]
addss xmm1, dword [0x1022c6cc]
addss xmm0, dword [0x1022c6cc]
cvttss2si esi, xmm1
cvttss2si edi, xmm0
movss xmm0, dword [edx + 0x103c0]
dec edi
ucomiss xmm0, dword [0x10335c74]
lahf
test ah, 0x44
jnp 0x100ca9fa
mov eax, esi
mov dword [0x10335c9c], esi
sub eax, edi
movss dword [0x10335c74], xmm0
dec eax
mov dword [0x10335cc0], eax
mov eax, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x2e8]
mov dword [ebp - 0x2ec], eax
mov eax, dword [0x10335830]
cmp eax, dword [ecx + 4]
jle 0x100caa63
push 0x10335830
call fcn.1014be59
add esp, 4
cmp dword [0x10335830], 0xffffffff
jne 0x100caa63
push 0
push 0xe200e77e
mov dword [ebp - 4], 4
mov ecx, dword [0x10336104]
push 0x9be3441b
call fcn.100bb3f0
push 0x10335830
mov dword [0x10335824], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335824]
mov edx, dword [ebp - 0x2ec]
movss xmm1, dword [ebp - 0x2fc]
movss xmm0, dword [edx + eax]
comiss xmm0, xmm1
jbe 0x100caa91
mov eax, dword [ebp - 0x310]
and dword [eax + 0x30], 0xfffffffe
xor dl, dl
jmp 0x100cabdf
cmp dword [0x10335ca8], esi
jne 0x100caaa0
xor dl, dl
jmp 0x100cabdf
mov eax, esi
mov dword [0x10335ca8], esi
sub eax, dword [0x10335cc0]
add eax, 0xfffffffd
cmp eax, 0xa
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x310]
setbe dl
mov byte [ebp - 0x2e1], dl
mov eax, dword [eax + 0x30]
test al, 1
je 0x100caae0
cmp dword [ebp - 0x2ec], 0xa
ja 0x100caae0
mov dl, 1
jmp 0x100cabdf
mov ecx, dword [ebp - 0x310]
or eax, 1
mov dword [ecx + 0x30], eax
mov eax, dword [0x10336270]
mov ecx, dword [ebp - 0x2e8]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2ec], eax
mov eax, dword [0x10335c94]
cmp eax, dword [ecx + 4]
jle 0x100cab68
push 0x10335c94
call fcn.1014be59
add esp, 4
cmp dword [0x10335c94], 0xffffffff
jne 0x100cab5a
push 0
push 0xed5f4490
mov dword [ebp - 4], 5
mov ecx, dword [0x10336104]
push 0x9be3441b
call fcn.100bb3f0
push 0x10335c94
mov dword [0x10335cb8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov dl, byte [ebp - 0x2e1]
movss xmm1, dword [ebp - 0x2fc]
mov eax, dword [0x10335cb8]
mov ecx, dword [ebp - 0x2ec]
movss xmm0, dword [ecx + eax]
comiss xmm0, xmm1
jb 0x100cab8a
mov eax, dword [ebp - 0x310]
or dword [eax + 0x30], 0x800
mov ecx, esi
lea eax, [edi*2 + 1]
sub ecx, dword [0x10335c9c]
cmp ecx, eax
jle 0x100cabad
mov eax, esi
mov dword [0x10335c9c], esi
sub eax, edi
dec eax
mov dword [0x10335cc0], eax
mov eax, esi
mov ecx, esi
sub eax, dword [0x10335c9c]
sub ecx, dword [0x10335cc0]
cmp eax, edi
jge 0x100cabc5
cmp ecx, edi
jg 0x100cabdf
mov ecx, dword [ebp - 0x310]
mov dword [0x10335c9c], esi
and dword [ecx + 0x30], 0xfffffffe
cmp eax, edi
jl 0x100cabdf
mov dword [0x10335cc0], esi
mov esi, dword [ebp - 0x31c]
mov ecx, dword [0x103357d4]
mov byte [esi + 0x1e2a58], dl
mov eax, dword [0x10336270]
mov edi, dword [eax + 0x14]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10335848]
cmp eax, dword [ecx + 4]
jle 0x100cac5c
push 0x10335848
call fcn.1014be59
add esp, 4
cmp dword [0x10335848], 0xffffffff
jne 0x100cac5c
push 0
push 0x8d29f550
mov dword [ebp - 4], 6
mov ecx, dword [0x10336104]
push 0x19c23329
call fcn.100bb3f0
push 0x10335848
mov dword [0x1033584c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x1033584c]
movsx eax, word [edi + eax]
dec eax
cmp eax, 0x3f
ja case.0x100cac76.5
movzx eax, byte [eax + 0x100cf004]
jmp dword [eax*4 + 0x100cef78]
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x757], 0
je 0x100cacad
movups xmm0, xmmword [eax + 0x757]
movups xmm1, xmmword [eax + 0x767]
movq xmm2, qword [eax + 0x777]
mov ax, word [eax + 0x77f]
jmp 0x100cb4a2
cmp byte [eax + 0x72c], 0
je 0x100cb485
movups xmm0, xmmword [eax + 0x72d]
movups xmm1, xmmword [eax + 0x73d]
movq xmm2, qword [eax + 0x74d]
mov ax, word [eax + 0x755]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x781], 0
je 0x100cacad
movups xmm0, xmmword [eax + 0x781]
movups xmm1, xmmword [eax + 0x791]
movq xmm2, qword [eax + 0x7a1]
mov ax, word [eax + 0x7a9]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x7ab], 0
je 0x100cacad
movups xmm0, xmmword [eax + 0x7ab]
movups xmm1, xmmword [eax + 0x7bb]
movq xmm2, qword [eax + 0x7cb]
mov ax, word [eax + 0x7d3]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x7d5], 0
je 0x100cacad
movups xmm0, xmmword [eax + 0x7d5]
movups xmm1, xmmword [eax + 0x7e5]
movq xmm2, qword [eax + 0x7f5]
mov ax, word [eax + 0x7fd]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x7ff], 0
je 0x100cacad
movups xmm0, xmmword [eax + 0x7ff]
movups xmm1, xmmword [eax + 0x80f]
movq xmm2, qword [eax + 0x81f]
mov ax, word [eax + 0x827]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x829], 0
je 0x100cacad
movups xmm0, xmmword [eax + 0x829]
movups xmm1, xmmword [eax + 0x839]
movq xmm2, qword [eax + 0x849]
mov ax, word [eax + 0x851]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x853], 0
je 0x100cacad
movups xmm0, xmmword [eax + 0x853]
movups xmm1, xmmword [eax + 0x863]
movq xmm2, qword [eax + 0x873]
mov ax, word [eax + 0x87b]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x87d], 0
je 0x100cacad
movups xmm0, xmmword [eax + 0x87d]
movups xmm1, xmmword [eax + 0x88d]
movq xmm2, qword [eax + 0x89d]
mov ax, word [eax + 0x8a5]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x5ae], 0
je 0x100cae70
movups xmm0, xmmword [eax + 0x5ae]
movups xmm1, xmmword [eax + 0x5be]
movq xmm2, qword [eax + 0x5ce]
mov ax, word [eax + 0x5d6]
jmp 0x100cb4a2
cmp byte [eax + 0x583], 0
je 0x100cb485
movups xmm0, xmmword [eax + 0x584]
movups xmm1, xmmword [eax + 0x594]
movq xmm2, qword [eax + 0x5a4]
mov ax, word [eax + 0x5ac]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x5d8], 0
je 0x100cae70
movups xmm0, xmmword [eax + 0x5d8]
movups xmm1, xmmword [eax + 0x5e8]
movq xmm2, qword [eax + 0x5f8]
mov ax, word [eax + 0x600]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xc52], 0
je 0x100caeff
movups xmm0, xmmword [eax + 0xc52]
movups xmm1, xmmword [eax + 0xc62]
movq xmm2, qword [eax + 0xc72]
mov ax, word [eax + 0xc7a]
jmp 0x100cb4a2
cmp byte [eax + 0xc27], 0
je 0x100cb485
movups xmm0, xmmword [eax + 0xc28]
movups xmm1, xmmword [eax + 0xc38]
movq xmm2, qword [eax + 0xc48]
mov ax, word [eax + 0xc50]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xc7c], 0
je 0x100caeff
movups xmm0, xmmword [eax + 0xc7c]
movups xmm1, xmmword [eax + 0xc8c]
movq xmm2, qword [eax + 0xc9c]
mov ax, word [eax + 0xca4]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xca6], 0
je 0x100caeff
movups xmm0, xmmword [eax + 0xca6]
movups xmm1, xmmword [eax + 0xcb6]
movq xmm2, qword [eax + 0xcc6]
mov ax, word [eax + 0xcce]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xcd0], 0
je 0x100caeff
movups xmm0, xmmword [eax + 0xcd0]
movups xmm1, xmmword [eax + 0xce0]
movq xmm2, qword [eax + 0xcf0]
mov ax, word [eax + 0xcf8]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xaa9], 0
je 0x100caff2
movups xmm0, xmmword [eax + 0xaa9]
movups xmm1, xmmword [eax + 0xab9]
movq xmm2, qword [eax + 0xac9]
mov ax, word [eax + 0xad1]
jmp 0x100cb4a2
cmp byte [eax + 0xa7e], 0
je 0x100cb485
movups xmm0, xmmword [eax + 0xa7f]
movups xmm1, xmmword [eax + 0xa8f]
movq xmm2, qword [eax + 0xa9f]
mov ax, word [eax + 0xaa7]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xad3], 0
je 0x100caff2
movups xmm0, xmmword [eax + 0xad3]
movups xmm1, xmmword [eax + 0xae3]
movq xmm2, qword [eax + 0xaf3]
mov ax, word [eax + 0xafb]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xdfb], 0
je 0x100cb081
movups xmm0, xmmword [eax + 0xdfb]
movups xmm1, xmmword [eax + 0xe0b]
movq xmm2, qword [eax + 0xe1b]
mov ax, word [eax + 0xe23]
jmp 0x100cb4a2
cmp byte [eax + 0xdd0], 0
je 0x100cb485
movups xmm0, xmmword [eax + 0xdd1]
movups xmm1, xmmword [eax + 0xde1]
movq xmm2, qword [eax + 0xdf1]
mov ax, word [eax + 0xdf9]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xe25], 0
je 0x100cb081
movups xmm0, xmmword [eax + 0xe25]
movups xmm1, xmmword [eax + 0xe35]
movq xmm2, qword [eax + 0xe45]
mov ax, word [eax + 0xe4d]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xe4f], 0
je 0x100cb081
movups xmm0, xmmword [eax + 0xe4f]
movups xmm1, xmmword [eax + 0xe5f]
movq xmm2, qword [eax + 0xe6f]
mov ax, word [eax + 0xe77]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xe79], 0
je 0x100cb081
movups xmm0, xmmword [eax + 0xe79]
movups xmm1, xmmword [eax + 0xe89]
movq xmm2, qword [eax + 0xe99]
mov ax, word [eax + 0xea1]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xea3], 0
je 0x100cb081
movups xmm0, xmmword [eax + 0xea3]
movups xmm1, xmmword [eax + 0xeb3]
movq xmm2, qword [eax + 0xec3]
mov ax, word [eax + 0xecb]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xecd], 0
je 0x100cb081
movups xmm0, xmmword [eax + 0xecd]
movups xmm1, xmmword [eax + 0xedd]
movq xmm2, qword [eax + 0xeed]
mov ax, word [eax + 0xef5]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0xef7], 0
je 0x100cb081
movups xmm0, xmmword [eax + 0xef7]
movups xmm1, xmmword [eax + 0xf07]
movq xmm2, qword [eax + 0xf17]
mov ax, word [eax + 0xf1f]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x900], 0
je 0x100cb210
movups xmm0, xmmword [eax + 0x900]
movups xmm1, xmmword [eax + 0x910]
movq xmm2, qword [eax + 0x920]
mov ax, word [eax + 0x928]
jmp 0x100cb4a2
cmp byte [eax + 0x8d5], 0
je 0x100cb485
movups xmm0, xmmword [eax + 0x8d6]
movups xmm1, xmmword [eax + 0x8e6]
movq xmm2, qword [eax + 0x8f6]
mov ax, word [eax + 0x8fe]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x92a], 0
je 0x100cb210
movups xmm0, xmmword [eax + 0x92a]
movups xmm1, xmmword [eax + 0x93a]
movq xmm2, qword [eax + 0x94a]
mov ax, word [eax + 0x952]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x954], 0
je 0x100cb210
movups xmm0, xmmword [eax + 0x954]
movups xmm1, xmmword [eax + 0x964]
movq xmm2, qword [eax + 0x974]
mov ax, word [eax + 0x97c]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x97e], 0
je 0x100cb210
movups xmm0, xmmword [eax + 0x97e]
movups xmm1, xmmword [eax + 0x98e]
movq xmm2, qword [eax + 0x99e]
mov ax, word [eax + 0x9a6]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x9a8], 0
je 0x100cb210
movups xmm0, xmmword [eax + 0x9a8]
movups xmm1, xmmword [eax + 0x9b8]
movq xmm2, qword [eax + 0x9c8]
mov ax, word [eax + 0x9d0]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x9d2], 0
je 0x100cb210
movups xmm0, xmmword [eax + 0x9d2]
movups xmm1, xmmword [eax + 0x9e2]
movq xmm2, qword [eax + 0x9f2]
mov ax, word [eax + 0x9fa]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x9fc], 0
je 0x100cb210
movups xmm0, xmmword [eax + 0x9fc]
movups xmm1, xmmword [eax + 0xa0c]
movq xmm2, qword [eax + 0xa1c]
mov ax, word [eax + 0xa24]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x25c], 0
je 0x100cb39f
movups xmm0, xmmword [eax + 0x25c]
movups xmm1, xmmword [eax + 0x26c]
movq xmm2, qword [eax + 0x27c]
mov ax, word [eax + 0x284]
jmp 0x100cb4a2
cmp byte [eax + 0x231], 0
je 0x100cb485
movups xmm0, xmmword [eax + 0x232]
movups xmm1, xmmword [eax + 0x242]
movq xmm2, qword [eax + 0x252]
mov ax, word [eax + 0x25a]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x286], 0
je 0x100cb39f
movups xmm0, xmmword [eax + 0x286]
movups xmm1, xmmword [eax + 0x296]
movq xmm2, qword [eax + 0x2a6]
mov ax, word [eax + 0x2ae]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x405], 0
je 0x100cb42b
movups xmm0, xmmword [eax + 0x405]
movups xmm1, xmmword [eax + 0x415]
movq xmm2, qword [eax + 0x425]
mov ax, word [eax + 0x42d]
jmp 0x100cb4a2
cmp byte [eax + 0x3da], 0
je 0x100cb485
movups xmm0, xmmword [eax + 0x3db]
movups xmm1, xmmword [eax + 0x3eb]
movq xmm2, qword [eax + 0x3fb]
mov ax, word [eax + 0x403]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x42f], 0
je 0x100cb42b
movups xmm0, xmmword [eax + 0x42f]
movups xmm1, xmmword [eax + 0x43f]
movq xmm2, qword [eax + 0x44f]
mov ax, word [eax + 0x457]
jmp 0x100cb4a2
mov eax, dword [0x10335fb8]
movups xmm0, xmmword [eax + 0x89]
movups xmm1, xmmword [eax + 0x99]
movq xmm2, qword [eax + 0xa9]
mov ax, word [eax + 0xb1]
movups xmmword [esi + 0x1e2a28], xmm0
mov cl, 1
movups xmmword [esi + 0x1e2a38], xmm1
movq qword [esi + 0x1e2a48], xmm2
mov word [esi + 0x1e2a50], ax
mov byte [esi + 0x1e2a52], cl
test cl, cl
je case.0x100ca7e8.0
mov eax, dword [0x1033629c]
mov ecx, dword [eax + 0x1e2a1c]
cmp ecx, dword [eax + 0x1e2a20]
je 0x100cb4ed
mov dword [eax + 0x1e2a20], ecx
mov eax, dword [0x1033629c]
lea ecx, [eax + 0x1e2a1c]
mov eax, dword [0x103361fc]
mov edx, dword [eax + 0x38]
sub edx, dword [eax + 0x34]
mov eax, 0x146a8c0b
imul edx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
call fcn.100cf160
mov eax, dword [0x1033629c]
push 0
mov dword [eax + 0x1e2a5c], 0
mov ecx, dword [0x1033629c]
lea ecx, [ecx + 0x1e2a60]
call fcn.10078030
mov ecx, dword [0x10336270]
mov edx, dword [0x1033629c]
movss xmm0, dword [ecx + 0x24]
movss dword [edx + 0x1e2a68], xmm0
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x1e2a6c], eax
mov eax, dword [ecx + 0x2c]
mov dword [edx + 0x1e2a70], eax
mov ecx, dword [0x1033629c]
movss dword [ecx + 0x1e2a00], xmm0
mov eax, dword [edx + 0x1e2a6c]
mov dword [ecx + 0x1e2a04], eax
mov eax, dword [edx + 0x1e2a70]
mov dword [ecx + 0x1e2a08], eax
mov eax, dword [0x1033629c]
mov byte [eax + 0x1e2a66], 0
mov eax, dword [0x1033629c]
mov byte [eax + 0x1e2a65], 0
mov esi, dword [0x1033629c]
lea edi, [esi + 0x1a00]
cmp esi, edi
je 0x100cb606
add esi, 0x14
lea ecx, [esi + 8]
mov dword [esi - 0x14], 0
mov dword [esi - 0x10], 0
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.100cf3f0
lea ecx, [ebp - 0x3cc]
mov dword [esi + 0x48], 0
call fcn.10031680
push eax
lea ecx, [esi + 0x3c]
call fcn.100cf260
lea ecx, [ebp - 0x3cc]
call fcn.10033c30
lea esi, [esi + 0x68]
lea eax, [esi - 0x14]
cmp eax, edi
jne 0x100cb5b3
mov eax, dword [0x10336270]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x2f4], ecx
xor edx, edx
mov dword [ebp - 4], 7
test ecx, ecx
mov eax, ecx
cmove eax, edx
mov eax, dword [eax]
mov eax, dword [eax + 0x78c]
mov dword [ebp - 0x2ec], eax
call dword [ebp - 0x2ec]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x1033629c]
fstp dword [ebp - 0x2f0]
movss xmm0, dword [ebp - 0x2f0]
subss xmm0, dword [eax + 0x1e2a78]
call fcn.100151f0
mov eax, dword [0x1033629c]
lea ecx, [ebp - 0x318]
movss dword [eax + 0x1e2a74], xmm0
mov eax, dword [0x1033629c]
movss xmm0, dword [ebp - 0x2f0]
movss dword [eax + 0x1e2a78], xmm0
mov esi, dword [0x103361fc]
add esi, 0x34
push esi
push dword [esi]
call fcn.100189f0
push esi
push dword [esi + 4]
lea ecx, [ebp - 0x2f0]
call fcn.100189f0
mov esi, dword [ebp - 0x318]
mov dword [ebp - 0x314], esi
cmp esi, dword [ebp - 0x2f0]
je 0x100cba9d
mov eax, dword fs:[0x2c]
mov ecx, dword [0x103357d4]
mov edi, dword [eax + ecx*4]
mov dword [ebp - 0x2fc], edi
mov eax, dword [0x10336270]
mov ecx, dword [esi]
cmp ecx, dword [eax + 8]
je 0x100cba7f
call fcn.10052f50
test al, al
jne 0x100cba79
mov ecx, dword [esi]
cmp byte [ecx + 0x25f], al
jne 0x100cba79
cmp dword [ecx + 0x100], 0
je 0x100cba79
xor edx, edx
add ecx, 8
mov dword [ebp - 0x2f4], ecx
mov eax, ecx
mov dword [ebp - 4], 8
cmove eax, edx
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
call eax
mov dword [ebp - 4], 0xffffffff
test al, al
jne 0x100cba79
mov eax, dword [esi]
mov dword [ebp - 0x2ec], eax
mov eax, dword [0x103358b8]
cmp eax, dword [edi + 4]
jle 0x100cb79b
push 0x103358b8
call fcn.1014be59
add esp, 4
cmp dword [0x103358b8], 0xffffffff
jne 0x100cb79b
push 0
push 0x5a84b801
mov dword [ebp - 4], 9
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x103358b8
mov dword [0x103358c0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x103358c0]
mov ecx, dword [ebp - 0x2ec]
mov al, byte [ecx + eax]
test al, al
jne 0x100cba79
cmp byte [esi + 0x25], al
je 0x100cba79
mov dword [esi + 0x20], 0
mov edi, dword [esi]
mov eax, dword [0x1033629c]
mov dword [ebp - 0x2f8], eax
lea ecx, [edi + 8]
mov dword [ebp - 0x2f4], ecx
xor edx, edx
mov dword [ebp - 4], 0xa
test ecx, ecx
mov eax, ecx
cmove eax, edx
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2fc]
imul eax, eax, 0x183c
mov dword [ebp - 4], 0xffffffff
movss xmm0, dword [edi + 0x138]
movss xmm1, dword [edi + 0x13c]
movss xmm2, dword [edi + 0x140]
mov dword [ebp - 0x2e8], eax
movss dword [edx + eax + 0x1a00], xmm0
movss dword [edx + eax + 0x1a04], xmm1
movss dword [edx + eax + 0x1a08], xmm2
mov eax, dword [0x103358f8]
cmp eax, dword [ecx + 4]
jle 0x100cb8a0
push 0x103358f8
call fcn.1014be59
add esp, 4
cmp dword [0x103358f8], 0xffffffff
jne 0x100cb89a
push 0
push 0x2fb428ac
mov dword [ebp - 4], 0xb
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x103358f8
mov dword [0x103358ec], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov edx, dword [ebp - 0x2f8]
mov ecx, dword [0x103358ec]
mov esi, dword [ebp - 0x2e8]
mov eax, dword [ecx + edi]
mov dword [edx + esi + 0x1a24], eax
mov eax, dword [ecx + edi + 4]
mov dword [edx + esi + 0x1a28], eax
mov eax, dword [ecx + edi + 8]
mov ecx, esi
mov dword [edx + ecx + 0x1a2c], eax
mov ecx, dword [ebp - 0x2fc]
mov eax, dword [0x10335c80]
cmp eax, dword [ecx + 4]
jle 0x100cb934
push 0x10335c80
call fcn.1014be59
add esp, 4
cmp dword [0x10335c80], 0xffffffff
jne 0x100cb92e
push 0
push 0x5843edce
mov dword [ebp - 4], 0xc
mov ecx, dword [0x10336104]
push 0xaf3beedc
call fcn.100bb3f0
push 0x10335c80
mov dword [0x10335c98], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov edx, dword [ebp - 0x2f8]
mov ecx, dword [0x10335c98]
mov esi, dword [ebp - 0x2e8]
mov eax, dword [ecx + edi]
mov dword [edx + esi + 0x1a0c], eax
mov eax, dword [ecx + edi + 4]
mov dword [edx + esi + 0x1a10], eax
mov eax, dword [ecx + edi + 8]
mov ecx, esi
mov dword [edx + ecx + 0x1a14], eax
mov ecx, dword [ebp - 0x2fc]
mov eax, dword [0x103358f0]
cmp eax, dword [ecx + 4]
jle 0x100cb9c8
push 0x103358f0
call fcn.1014be59
add esp, 4
cmp dword [0x103358f0], 0xffffffff
jne 0x100cb9c2
push 0
push 0xfb2b8c0
mov dword [ebp - 4], 0xd
mov ecx, dword [0x10336104]
push 0xaf3beedc
call fcn.100bb3f0
push 0x103358f0
mov dword [0x103358f4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov edx, dword [ebp - 0x2f8]
mov ecx, dword [0x103358f4]
mov esi, dword [ebp - 0x2e8]
mov eax, dword [ecx + edi]
mov dword [edx + esi + 0x1a18], eax
mov eax, dword [ecx + edi + 4]
mov dword [edx + esi + 0x1a1c], eax
mov eax, dword [ecx + edi + 8]
mov ecx, esi
mov esi, dword [ebp - 0x314]
mov dword [edx + ecx + 0x1a20], eax
mov eax, dword [edi + 0x104]
mov dword [edx + ecx + 0x3230], eax
mov eax, dword [edi + 0x9920]
mov dword [edx + ecx + 0x3234], eax
mov eax, dword [edi + 0x9924]
mov dword [edx + ecx + 0x3238], eax
add ecx, 0x1a30
mov eax, dword [edi + 0x2920]
add ecx, edx
mov edx, dword [edi + 0x2914]
lea eax, [eax + eax*2]
shl eax, 4
shr eax, 4
test eax, eax
je 0x100cba61
sub edx, ecx
nop word [eax + eax]
lea ecx, [ecx + 0x10]
movups xmm0, xmmword [edx + ecx - 0x10]
movups xmmword [ecx - 0x10], xmm0
sub eax, 1
jne 0x100cba50
mov ecx, dword [0x1033629c]
push esi
lea ecx, [ecx + 0x1e2a1c]
call fcn.1009a870
mov edi, dword [ebp - 0x2fc]
mov esi, dword [ebp - 0x318]
add esi, 0x1914
mov dword [ebp - 0x314], esi
mov dword [ebp - 0x318], esi
cmp esi, dword [ebp - 0x2f0]
jne 0x100cb6d4
mov eax, dword [0x10336270]
mov ecx, dword [0x1033629c]
mov byte [ebp - 0x2ec], 0
add ecx, 0x1e2a1c
push dword [ebp - 0x2ec]
mov eax, dword [eax + 8]
sub esp, 0xc
movss xmm0, dword [eax + 0x138]
movss xmm1, dword [eax + 0x13c]
movss xmm2, dword [eax + 0x140]
mov eax, esp
push ecx
mov ecx, 0x101f32b8
movss dword [eax], xmm0
movss dword [eax + 4], xmm1
movss dword [eax + 8], xmm2
lea eax, [ebp - 0x2f4]
push eax
call fcn.100cfab0
mov eax, dword [0x103362e0]
cmp byte [eax], 0
je 0x100cbb64
mov edi, dword [0x1033629c]
add edi, 0x1e2a1c
mov ecx, dword [edi + 4]
mov eax, ecx
sub eax, dword [edi]
sar eax, 2
cmp eax, 2
jbe 0x100cbb64
push edi
push ecx
lea ecx, [ebp - 0x2ec]
call fcn.100189f0
mov eax, dword [0x1033629c]
lea ecx, [ebp - 0x31c]
mov esi, dword [ebp - 0x2ec]
add eax, 0x1e2a1c
push eax
push dword [eax]
call fcn.100189f0
mov eax, dword [ebp - 0x31c]
mov ecx, edi
push esi
add eax, 4
push eax
lea eax, [ebp - 0x2f4]
push eax
call fcn.100cf130
lea ecx, [ebp - 0x39c]
call fcn.10031680
mov dword [ebp - 4], 0xe
xor ecx, ecx
mov esi, dword [0x1033629c]
mov dword [ebp - 0x2f0], ecx
mov eax, dword [esi + 0x1e2a20]
sub eax, dword [esi + 0x1e2a1c]
sar eax, 2
test eax, eax
je 0x100cbc1b
xor edi, edi
nop dword [eax]
mov eax, dword [esi + 0x1e2a1c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x310]
mov dword [edi + esi], eax
mov eax, dword [ecx + 4]
mov dword [edi + esi + 0x14], eax
mov eax, dword [ecx + 8]
lea ecx, [esi + 0x1c]
add ecx, edi
mov dword [edi + esi + 0x18], eax
call fcn.100cf3f0
lea ecx, [esi + 0x50]
add ecx, edi
call fcn.1004c7c0
mov eax, dword [ebp - 0x2f0]
lea ecx, [ebp - 0x39c]
mov dword [ebp - 0x2ec], eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.100cf720
mov esi, dword [0x1033629c]
add edi, 0x68
mov ecx, dword [ebp - 0x2f0]
inc ecx
mov dword [ebp - 0x2f0], ecx
mov eax, dword [esi + 0x1e2a20]
sub eax, dword [esi + 0x1e2a1c]
sar eax, 2
cmp ecx, eax
jb 0x100cbba0
mov ecx, dword [0x10337b98]
lea eax, [ebp - 0x39c]
push eax
call fcn.100e6980
lea ecx, [ebp - 0x39c]
mov dword [ebp - 4], 0xffffffff
call fcn.1004d6a0
mov eax, dword [0x1033629c]
mov ecx, 0x101f32b8
push 0
add eax, 0x1e2900
push eax
lea eax, [ebp - 0x330]
push eax
call fcn.100cfae0
mov eax, dword [0x1033629c]
mov ecx, 0x101f32b8
mov byte [ebp - 0x2ec], 0
add eax, 0x1e2900
push dword [ebp - 0x2ec]
push dword [ebp - 0x2f4]
push eax
lea eax, [ebp - 0x32c]
push eax
call fcn.100cfb10
mov eax, dword [0x1033629c]
mov byte [ebp - 0x305], 0
mov byte [eax + 0x1e2a65], 0
mov eax, dword [0x1033629c]
mov byte [eax + 0x1e2a64], 0
mov eax, dword [0x103362dc]
cmp byte [eax + 0xc], 0
jne 0x100cc8e7
mov eax, dword [0x10336270]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x30]
shr ecx, 0x11
test cl, 1
je 0x100cbcd6
cmp dword [eax + 0x44], 0
jg 0x100cc8e7
mov esi, dword [0x1033629c]
cmp byte [esi + 0x1e2a52], 0
je 0x100cc8e7
cmp byte [esi + 0x1e2a29], 0
je 0x100cc8e7
mov eax, dword [0x10336270]
mov ecx, dword [0x103357d4]
mov edi, dword [eax + 0x14]
mov eax, dword fs:[0x2c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10335848]
cmp eax, dword [esi + 4]
jle 0x100cbd67
push 0x10335848
call fcn.1014be59
add esp, 4
cmp dword [0x10335848], 0xffffffff
jne 0x100cbd67
push 0
push 0x8d29f550
mov dword [ebp - 4], 0xf
mov ecx, dword [0x10336104]
push 0x19c23329
call fcn.100bb3f0
push 0x10335848
mov dword [0x1033584c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x1033584c]
cmp word [edi + eax], 0x1f
je 0x100cc8e7
mov eax, dword [0x10336270]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x2f4], ecx
xor edx, edx
mov dword [ebp - 4], 0x10
test ecx, ecx
mov eax, ecx
cmove eax, edx
mov eax, dword [eax]
mov eax, dword [eax + 0x734]
call eax
mov dword [ebp - 0x30c], eax
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x100cc8e7
mov ecx, dword [0x103362e0]
mov dword [ebp - 0x2e8], 0
cmp dword [ecx + 0x40], 0xba952ec1
jne 0x100cbe39
mov eax, dword [0x10336270]
mov edi, dword [eax + 8]
mov eax, dword [0x10335ba4]
cmp eax, dword [esi + 4]
jle 0x100cbe28
push 0x10335ba4
call fcn.1014be59
add esp, 4
cmp dword [0x10335ba4], 0xffffffff
jne 0x100cbe28
push 0
push 0x66b5c7b9
mov dword [ebp - 4], 0x11
mov ecx, dword [0x10336104]
push 0x7b66d35c
call fcn.100bb3f0
push 0x10335ba4
mov dword [0x10335b90], eax
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335b90]
mov esi, dword [eax + edi]
sub esi, 8
mov dword [ebp - 0x2e8], esi
mov eax, dword [0x10336270]
mov eax, dword [eax + 8]
movss xmm1, dword [eax + 0x118]
movss xmm0, dword [eax + 0x114]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1002ffd0
mov eax, dword [0x10336270]
movss dword [ebp - 0x2ec], xmm0
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x2f4], ecx
xor edx, edx
mov dword [ebp - 4], 0x12
test ecx, ecx
mov eax, ecx
cmove eax, edx
mov eax, dword [eax]
mov eax, dword [eax + 0x734]
call eax
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
jne 0x100cbeac
movss xmm1, dword [0x1022ca34]
jmp 0x100cbf3a
mov eax, dword [0x10336270]
mov ecx, dword [0x103357d4]
mov edi, dword [eax + 0x14]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10335ca0]
cmp eax, dword [ecx + 4]
jle 0x100cbf1d
push 0x10335ca0
call fcn.1014be59
add esp, 4
cmp dword [0x10335ca0], 0xffffffff
jne 0x100cbf1d
push 0
push 0x63277436
mov dword [ebp - 4], 0x13
mov ecx, dword [0x10336104]
push 0xea803921
call fcn.100bb3f0
push 0x10335ca0
mov dword [0x10335c6c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c6c]
cmp dword [edi + eax], 0
jle 0x100cbf32
movss xmm1, dword [esi + 0x138]
jmp 0x100cbf3a
movss xmm1, dword [esi + 0x134]
movss xmm0, dword [ebp - 0x2ec]
mov eax, dword [0x10336270]
divss xmm0, xmm1
mov ecx, dword [0x103357d4]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2ec], eax
mov eax, dword fs:[0x2c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10335830]
mulss xmm0, dword [0x1022c7a4]
cvttss2si edi, xmm0
mov dword [ebp - 0x31c], edi
cmp eax, dword [esi + 4]
jle 0x100cbfcf
push 0x10335830
call fcn.1014be59
add esp, 4
cmp dword [0x10335830], 0xffffffff
jne 0x100cbfcf
push 0
push 0xe200e77e
mov dword [ebp - 4], 0x14
mov ecx, dword [0x10336104]
push 0x9be3441b
call fcn.100bb3f0
push 0x10335830
mov dword [0x10335824], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335824]
mov edx, 0
mov ecx, dword [ebp - 0x2ec]
movss xmm1, dword [0x1022c6cc]
movss xmm0, dword [ecx + eax]
mov eax, dword [0x10335828]
divss xmm0, dword [eax + 0x20]
mov eax, dword [0x10336270]
addss xmm0, xmm1
cvttss2si ecx, xmm0
sub ecx, dword [eax + 0x58]
cmovs ecx, edx
cmp ecx, edi
jg 0x100cc0af
mov edi, dword [eax + 8]
mov eax, dword [0x10335ba4]
cmp eax, dword [esi + 4]
jle 0x100cc076
push 0x10335ba4
call fcn.1014be59
add esp, 4
cmp dword [0x10335ba4], 0xffffffff
jne 0x100cc06e
push 0
push 0x66b5c7b9
mov dword [ebp - 4], 0x15
mov ecx, dword [0x10336104]
push 0x7b66d35c
call fcn.100bb3f0
push 0x10335ba4
mov dword [0x10335b90], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
movss xmm1, dword [0x1022c6cc]
mov eax, dword [0x10335828]
movss xmm0, dword [edi + 0x2d80]
mov byte [ebp - 0x2e1], 1
divss xmm0, dword [eax + 0x20]
mov eax, dword [0x10335b90]
addss xmm0, xmm1
cvttss2si ecx, xmm0
sub ecx, dword [eax + edi]
mov eax, 0
cmovs ecx, eax
cmp ecx, dword [ebp - 0x31c]
jle 0x100cc0b6
mov byte [ebp - 0x2e1], 0
mov eax, dword [0x10336270]
mov edi, dword [eax + 0x14]
mov eax, dword [0x10335848]
cmp eax, dword [esi + 4]
jle 0x100cc118
push 0x10335848
call fcn.1014be59
add esp, 4
cmp dword [0x10335848], 0xffffffff
jne 0x100cc118
push 0
push 0x8d29f550
mov dword [ebp - 4], 0x16
mov ecx, dword [0x10336104]
push 0x19c23329
call fcn.100bb3f0
push 0x10335848
mov dword [0x1033584c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x1033584c]
cmp word [edi + eax], 0x40
je 0x100cc8e7
mov eax, dword [ebp - 0x30c]
movss xmm0, dword [0x1022c6b8]
comiss xmm0, dword [eax + 0xdc]
jb 0x100cc40d
mov eax, dword [0x10336270]
mov edi, dword [eax + 0x14]
mov eax, dword [0x10335c84]
cmp eax, dword [esi + 4]
jle 0x100cc1a5
push 0x10335c84
call fcn.1014be59
add esp, 4
cmp dword [0x10335c84], 0xffffffff
jne 0x100cc1a5
push 0
push 0xaa34c129
mov dword [ebp - 4], 0x17
mov ecx, dword [0x10336104]
push 0x9be3441b
call fcn.100bb3f0
push 0x10335c84
mov dword [0x10335c7c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c7c]
cmp dword [edi + eax], 0
jle 0x100cc40d
mov ecx, dword [0x10336270]
mov ecx, dword [ecx + 0x14]
call fcn.10053090
test al, al
jne 0x100cc40d
mov eax, dword [0x10335850]
mov al, byte [eax + 0x20]
test al, al
jne 0x100cc40d
mov eax, dword [0x10336270]
mov ecx, dword [eax]
cmp dword [ecx + 0x38], 0
jne 0x100cc40d
mov edi, dword [eax + 8]
test byte [edi + 0x104], 0x40
jne 0x100cc40d
mov eax, dword [0x10335c64]
cmp eax, dword [esi + 4]
jle 0x100cc255
push 0x10335c64
call fcn.1014be59
add esp, 4
cmp dword [0x10335c64], 0xffffffff
jne 0x100cc255
push 0
push 0x4493f564
mov dword [ebp - 4], 0x18
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x10335c64
mov dword [0x10335ca4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335ca4]
mov al, byte [eax + edi]
test al, al
jne 0x100cc40d
mov eax, dword [0x10336270]
mov edi, dword [eax + 8]
mov eax, dword [0x10335cb0]
cmp eax, dword [esi + 4]
jle 0x100cc2c7
push 0x10335cb0
call fcn.1014be59
add esp, 4
cmp dword [0x10335cb0], 0xffffffff
jne 0x100cc2c7
push 0
push 0xc13156be
mov dword [ebp - 4], 0x19
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x10335cb0
mov dword [0x10335c88], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c88]
mov al, byte [eax + edi]
test al, al
jne 0x100cc40d
mov eax, dword [0x10336270]
mov ecx, dword [eax + 0x14]
mov cl, byte [ecx + 0x32b5]
test cl, cl
jne 0x100cc40d
mov edi, dword [eax + 8]
mov eax, dword [0x10335cb4]
cmp eax, dword [esi + 4]
jle 0x100cc34a
push 0x10335cb4
call fcn.1014be59
add esp, 4
cmp dword [0x10335cb4], 0xffffffff
jne 0x100cc34a
push 0
push 0xe529f9f2
mov dword [ebp - 4], 0x1a
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x10335cb4
mov dword [0x10335cbc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335cbc]
cmp dword [eax + edi], 0
jg 0x100cc40d
mov eax, dword [0x10336270]
mov ecx, dword [0x10335828]
movd xmm0, dword [eax + 0x58]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx + 0x20]
mov ecx, dword [eax + 8]
movss dword [ebp - 0x2f0], xmm0
movss xmm0, dword [ecx + 0x2d80]
movss xmm1, dword [ebp - 0x2f0]
comiss xmm0, xmm1
ja 0x100cc8e7
mov edi, dword [eax + 0x14]
mov eax, dword [0x10335830]
cmp eax, dword [esi + 4]
jle 0x100cc3fa
push 0x10335830
call fcn.1014be59
add esp, 4
cmp dword [0x10335830], 0xffffffff
jne 0x100cc3f2
push 0
push 0xe200e77e
mov dword [ebp - 4], 0x1b
mov ecx, dword [0x10336104]
push 0x9be3441b
call fcn.100bb3f0
push 0x10335830
mov dword [0x10335824], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
movss xmm1, dword [ebp - 0x2f0]
mov eax, dword [0x10335824]
movss xmm0, dword [edi + eax]
comiss xmm0, xmm1
ja 0x100cc8e7
cmp byte [ebp - 0x2e1], 0
jne 0x100cc8e7
mov eax, dword [0x10336270]
mov esi, dword [eax + 8]
test esi, esi
je 0x100cc8e7
cmp byte [esi + 0x25f], 0
jne 0x100cc8e7
cmp dword [esi + 0x100], 0
je 0x100cc8e7
mov ecx, dword [0x10335850]
mov cl, byte [ecx + 0x20]
test cl, cl
jne 0x100cc8e7
mov eax, dword [eax]
cmp dword [eax + 0x38], 0
jne 0x100cc8e7
test byte [esi + 0x104], 0x40
jne 0x100cc8e7
mov eax, dword fs:[0x2c]
mov ecx, dword [0x103357d4]
mov edi, dword [eax + ecx*4]
mov eax, dword [0x10335c64]
cmp eax, dword [edi + 4]
jle 0x100cc4d7
push 0x10335c64
call fcn.1014be59
add esp, 4
cmp dword [0x10335c64], 0xffffffff
jne 0x100cc4d7
push 0
push 0x4493f564
mov dword [ebp - 4], 0x1c
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x10335c64
mov dword [0x10335ca4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335ca4]
mov al, byte [eax + esi]
test al, al
jne 0x100cc8e7
mov eax, dword [0x10336270]
mov esi, dword [eax + 8]
mov eax, dword [0x10335cb0]
cmp eax, dword [edi + 4]
jle 0x100cc549
push 0x10335cb0
call fcn.1014be59
add esp, 4
cmp dword [0x10335cb0], 0xffffffff
jne 0x100cc549
push 0
push 0xc13156be
mov dword [ebp - 4], 0x1d
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x10335cb0
mov dword [0x10335c88], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c88]
mov al, byte [eax + esi]
test al, al
jne 0x100cc8e7
mov eax, dword [0x10336270]
mov ecx, dword [eax + 0x14]
mov cl, byte [ecx + 0x32b5]
test cl, cl
jne 0x100cc8e7
mov esi, dword [eax + 8]
mov eax, dword [0x10335cb4]
cmp eax, dword [edi + 4]
jle 0x100cc5cc
push 0x10335cb4
call fcn.1014be59
add esp, 4
cmp dword [0x10335cb4], 0xffffffff
jne 0x100cc5cc
push 0
push 0xe529f9f2
mov dword [ebp - 4], 0x1e
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x10335cb4
mov dword [0x10335cbc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335cbc]
cmp dword [eax + esi], 0
jg 0x100cc8e7
mov eax, dword [0x10336270]
mov esi, dword [eax + 0x14]
mov eax, dword [0x10335c84]
cmp eax, dword [edi + 4]
jle 0x100cc63d
push 0x10335c84
call fcn.1014be59
add esp, 4
cmp dword [0x10335c84], 0xffffffff
jne 0x100cc63d
push 0
push 0xaa34c129
mov dword [ebp - 4], 0x1f
mov ecx, dword [0x10336104]
push 0x9be3441b
call fcn.100bb3f0
push 0x10335c84
mov dword [0x10335c7c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c7c]
cmp dword [esi + eax], 0
jg 0x100cc6d0
mov ecx, dword [0x10336270]
mov ecx, dword [ecx + 0x14]
call fcn.10053090
test al, al
jne 0x100cc6d0
mov eax, dword [0x10336270]
mov esi, dword [eax + 0x14]
mov eax, dword [0x10335848]
cmp eax, dword [edi + 4]
jle 0x100cc6c0
push 0x10335848
call fcn.1014be59
add esp, 4
cmp dword [0x10335848], 0xffffffff
jne 0x100cc6c0
push 0
push 0x8d29f550
mov dword [ebp - 4], 0x20
mov ecx, dword [0x10336104]
push 0x19c23329
call fcn.100bb3f0
push 0x10335848
mov dword [0x1033584c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x1033584c]
cmp word [esi + eax], 0x1f
jne 0x100cc8e7
mov eax, dword [ebp - 0x2e8]
test eax, eax
jne 0x100cc6e2
mov eax, dword [0x10336270]
mov eax, dword [eax + 0x58]
mov ecx, dword [0x103357d4]
movd xmm0, eax
mov eax, dword [0x10335828]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20]
mov eax, dword [0x10336270]
movss dword [ebp - 0x2f0], xmm0
mov edi, dword [eax + 0x14]
mov eax, dword fs:[0x2c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10335848]
cmp eax, dword [esi + 4]
jle 0x100cc76c
push 0x10335848
call fcn.1014be59
add esp, 4
cmp dword [0x10335848], 0xffffffff
jne 0x100cc76c
push 0
push 0x8d29f550
mov dword [ebp - 4], 0x21
mov ecx, dword [0x10336104]
push 0x19c23329
call fcn.100bb3f0
push 0x10335848
mov dword [0x1033584c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x1033584c]
movzx eax, word [edi + eax]
cmp ax, 4
je 0x100cc785
cmp ax, 0xa
jne 0x100cc870
mov eax, dword [0x10336270]
mov edi, dword [eax + 0x14]
mov eax, dword [0x10335c68]
cmp eax, dword [esi + 4]
jle 0x100cc7e7
push 0x10335c68
call fcn.1014be59
add esp, 4
cmp dword [0x10335c68], 0xffffffff
jne 0x100cc7e7
push 0
push 0xced308db
mov dword [ebp - 4], 0x22
mov ecx, dword [0x10336104]
push 0xea803921
call fcn.100bb3f0
push 0x10335c68
mov dword [0x10335c8c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c8c]
cmp dword [eax + edi], 0
jle 0x100cc870
mov eax, dword [0x10336270]
mov edi, dword [eax + 0x14]
mov eax, dword [0x10335c90]
cmp eax, dword [esi + 4]
jle 0x100cc858
push 0x10335c90
call fcn.1014be59
add esp, 4
cmp dword [0x10335c90], 0xffffffff
jne 0x100cc858
push 0
push 0xcecb7584
mov dword [ebp - 4], 0x23
mov ecx, dword [0x10336104]
push 0xea803921
call fcn.100bb3f0
push 0x10335c90
mov dword [0x10335c78], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c78]
movss xmm1, dword [ebp - 0x2f0]
comiss xmm1, dword [eax + edi]
jb 0x100cc878
jmp 0x100cc8e7
movss xmm1, dword [ebp - 0x2f0]
mov eax, dword [0x10336270]
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x2d80]
comiss xmm0, xmm1
ja 0x100cc8e7
mov eax, dword [0x10335830]
cmp eax, dword [esi + 4]
jle 0x100cc8e7
push 0x10335830
call fcn.1014be59
add esp, 4
cmp dword [0x10335830], 0xffffffff
jne 0x100cc8e7
push 0
push 0xe200e77e
mov dword [ebp - 4], 0x24
mov ecx, dword [0x10336104]
push 0x9be3441b
call fcn.100bb3f0
push 0x10335830
mov dword [0x10335824], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
xor eax, eax
mov dword [ebp - 0x2ec], eax
nop
mov esi, dword [0x1033629c]
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x31c], esi
imul eax, dword [esi + eax*4 + 0x1e2900], 0x68
mov dword [ebp - 0x304], eax
mov eax, dword [eax + esi + 0x14]
cmp eax, dword [ecx + 4]
jne 0x100ce0fa
mov eax, dword [0x103362e0]
mov dword [ebp - 0x2f0], 0
cmp dword [eax + 0x40], 0xba952ec1
jne 0x100cc9bb
mov eax, dword [0x10336270]
mov ecx, dword [0x103357d4]
mov edi, dword [eax + 8]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10335ba4]
cmp eax, dword [ecx + 4]
jle 0x100cc9aa
push 0x10335ba4
call fcn.1014be59
add esp, 4
cmp dword [0x10335ba4], 0xffffffff
jne 0x100cc9aa
push 0
push 0x66b5c7b9
mov dword [ebp - 4], 0x25
mov ecx, dword [0x10336104]
push 0x7b66d35c
call fcn.100bb3f0
push 0x10335ba4
mov dword [0x10335b90], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335b90]
mov edx, dword [eax + edi]
sub edx, 8
mov dword [ebp - 0x2f0], edx
mov eax, dword [0x10336270]
mov edx, dword fs:[0x2c]
mov edi, dword [eax + 0x14]
mov eax, dword [0x103357d4]
mov ecx, dword [edx + eax*4]
mov eax, dword [0x10335848]
cmp eax, dword [ecx + 4]
jle 0x100cca33
push 0x10335848
call fcn.1014be59
add esp, 4
cmp dword [0x10335848], 0xffffffff
jne 0x100cca2c
push 0
push 0x8d29f550
mov dword [ebp - 4], 0x26
mov ecx, dword [0x10336104]
push 0x19c23329
call fcn.100bb3f0
push 0x10335848
mov dword [0x1033584c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov edx, dword fs:[0x2c]
mov eax, dword [0x1033584c]
cmp word [edi + eax], 0x40
jne 0x100cca51
mov eax, dword [0x1033629c]
cmp byte [eax + 0x1e2a58], 0
je 0x100ce0fa
mov eax, dword [0x10336270]
mov edi, dword [eax + 8]
test edi, edi
je 0x100ce0fa
cmp byte [edi + 0x25f], 0
jne 0x100ce0fa
cmp dword [edi + 0x100], 0
je 0x100ce0fa
mov ecx, dword [0x10335850]
mov cl, byte [ecx + 0x20]
test cl, cl
jne 0x100ce0fa
mov eax, dword [eax]
cmp dword [eax + 0x38], 0
jne 0x100ce0fa
test byte [edi + 0x104], 0x40
jne 0x100ce0fa
mov eax, dword [0x103357d4]
mov edx, dword [edx + eax*4]
mov eax, dword [0x10335c64]
mov dword [ebp - 0x2f8], edx
cmp eax, dword [edx + 4]
jle 0x100ccb13
push 0x10335c64
call fcn.1014be59
add esp, 4
cmp dword [0x10335c64], 0xffffffff
jne 0x100ccb0d
push 0
push 0x4493f564
mov dword [ebp - 4], 0x27
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x10335c64
mov dword [0x10335ca4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov edx, dword [ebp - 0x2f8]
mov eax, dword [0x10335ca4]
mov al, byte [eax + edi]
test al, al
jne 0x100ce0fa
mov eax, dword [0x10336270]
mov edi, dword [eax + 8]
mov eax, dword [0x10335cb0]
cmp eax, dword [edx + 4]
jle 0x100ccb8b
push 0x10335cb0
call fcn.1014be59
add esp, 4
cmp dword [0x10335cb0], 0xffffffff
jne 0x100ccb85
push 0
push 0xc13156be
mov dword [ebp - 4], 0x28
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x10335cb0
mov dword [0x10335c88], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov edx, dword [ebp - 0x2f8]
mov eax, dword [0x10335c88]
mov al, byte [eax + edi]
test al, al
jne 0x100ce0fa
mov eax, dword [0x10336270]
mov ecx, dword [eax + 0x14]
mov cl, byte [ecx + 0x32b5]
test cl, cl
jne 0x100ce0fa
mov edi, dword [eax + 8]
mov eax, dword [0x10335cb4]
cmp eax, dword [edx + 4]
jle 0x100ccc14
push 0x10335cb4
call fcn.1014be59
add esp, 4
cmp dword [0x10335cb4], 0xffffffff
jne 0x100ccc0e
push 0
push 0xe529f9f2
mov dword [ebp - 4], 0x29
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x10335cb4
mov dword [0x10335cbc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov edx, dword [ebp - 0x2f8]
mov eax, dword [0x10335cbc]
cmp dword [eax + edi], 0
jg 0x100ce0fa
mov eax, dword [0x10336270]
mov edi, dword [eax + 0x14]
mov eax, dword [0x10335c84]
cmp eax, dword [edx + 4]
jle 0x100ccc85
push 0x10335c84
call fcn.1014be59
add esp, 4
cmp dword [0x10335c84], 0xffffffff
jne 0x100ccc85
push 0
push 0xaa34c129
mov dword [ebp - 4], 0x2a
mov ecx, dword [0x10336104]
push 0x9be3441b
call fcn.100bb3f0
push 0x10335c84
mov dword [0x10335c7c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c7c]
cmp dword [edi + eax], 0
jg 0x100ccd1e
mov ecx, dword [0x10336270]
mov ecx, dword [ecx + 0x14]
call fcn.10053090
test al, al
jne 0x100ccd1e
mov eax, dword [0x10336270]
mov ecx, dword [ebp - 0x2f8]
mov edi, dword [eax + 0x14]
mov eax, dword [0x10335848]
cmp eax, dword [ecx + 4]
jle 0x100ccd0e
push 0x10335848
call fcn.1014be59
add esp, 4
cmp dword [0x10335848], 0xffffffff
jne 0x100ccd0e
push 0
push 0x8d29f550
mov dword [ebp - 4], 0x2b
mov ecx, dword [0x10336104]
push 0x19c23329
call fcn.100bb3f0
push 0x10335848
mov dword [0x1033584c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x1033584c]
cmp word [edi + eax], 0x1f
jne 0x100ce0fa
mov eax, dword [ebp - 0x2f0]
test eax, eax
jne 0x100ccd30
mov eax, dword [0x10336270]
mov eax, dword [eax + 0x58]
mov ecx, dword [0x103357d4]
movd xmm0, eax
mov eax, dword [0x10335828]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20]
mov eax, dword [0x10336270]
movss dword [ebp - 0x2e8], xmm0
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x30c], eax
mov eax, dword fs:[0x2c]
mov edi, dword [eax + ecx*4]
mov eax, dword [0x10335848]
cmp eax, dword [edi + 4]
jle 0x100ccdc0
push 0x10335848
call fcn.1014be59
add esp, 4
cmp dword [0x10335848], 0xffffffff
jne 0x100ccdc0
push 0
push 0x8d29f550
mov dword [ebp - 4], 0x2c
mov ecx, dword [0x10336104]
push 0x19c23329
call fcn.100bb3f0
push 0x10335848
mov dword [0x1033584c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x1033584c]
mov ecx, dword [ebp - 0x30c]
movzx eax, word [ecx + eax]
cmp ax, 4
je 0x100ccddf
cmp ax, 0xa
jne 0x100ccee1
mov eax, dword [0x10336270]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x30c], eax
mov eax, dword [0x10335c68]
cmp eax, dword [edi + 4]
jle 0x100cce47
push 0x10335c68
call fcn.1014be59
add esp, 4
cmp dword [0x10335c68], 0xffffffff
jne 0x100cce47
push 0
push 0xced308db
mov dword [ebp - 4], 0x2d
mov ecx, dword [0x10336104]
push 0xea803921
call fcn.100bb3f0
push 0x10335c68
mov dword [0x10335c8c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c8c]
mov ecx, dword [ebp - 0x30c]
cmp dword [eax + ecx], 0
jle 0x100ccee1
mov eax, dword [0x10336270]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x30c], eax
mov eax, dword [0x10335c90]
cmp eax, dword [edi + 4]
jle 0x100ccec4
push 0x10335c90
call fcn.1014be59
add esp, 4
cmp dword [0x10335c90], 0xffffffff
jne 0x100ccec4
push 0
push 0xcecb7584
mov dword [ebp - 4], 0x2e
mov ecx, dword [0x10336104]
push 0xea803921
call fcn.100bb3f0
push 0x10335c90
mov dword [0x10335c78], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c78]
mov ecx, dword [ebp - 0x30c]
movss xmm0, dword [ebp - 0x2e8]
comiss xmm0, dword [eax + ecx]
jae 0x100ccf86
mov eax, dword [0x10336270]
movss xmm1, dword [ebp - 0x2e8]
mov ecx, dword [eax + 8]
movss xmm0, dword [ecx + 0x2d80]
comiss xmm0, xmm1
ja 0x100ce0fa
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x30c], eax
mov eax, dword [0x10335830]
cmp eax, dword [edi + 4]
jle 0x100ccf6d
push 0x10335830
call fcn.1014be59
add esp, 4
cmp dword [0x10335830], 0xffffffff
jne 0x100ccf65
push 0
push 0xe200e77e
mov dword [ebp - 4], 0x2f
mov ecx, dword [0x10336104]
push 0x9be3441b
call fcn.100bb3f0
push 0x10335830
mov dword [0x10335824], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
movss xmm1, dword [ebp - 0x2e8]
mov eax, dword [0x10335824]
mov ecx, dword [ebp - 0x30c]
movss xmm0, dword [ecx + eax]
comiss xmm0, xmm1
ja 0x100ce0fa
mov eax, dword [ebp - 0x304]
mov ecx, dword [eax + esi + 4]
test ecx, ecx
je 0x100ce0fa
push dword [ecx + 0x8478]
call fcn.100a2f10
mov eax, dword [0x10336270]
mov eax, dword [eax + 8]
movss xmm1, dword [eax + 0x118]
movss xmm0, dword [eax + 0x114]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1002ffd0
mov eax, dword [0x10336270]
movss dword [ebp - 0x334], xmm0
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x300], ecx
xor edx, edx
mov dword [ebp - 4], 0x30
test ecx, ecx
mov eax, ecx
cmove eax, edx
mov eax, dword [eax]
mov eax, dword [eax + 0x734]
call eax
mov edi, eax
mov dword [ebp - 4], 0xffffffff
test edi, edi
jne 0x100cd016
movss xmm0, dword [0x1022ca34]
jmp 0x100cd0b0
mov eax, dword [0x10336270]
mov ecx, dword [0x103357d4]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x30c], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10335ca0]
cmp eax, dword [ecx + 4]
jle 0x100cd08d
push 0x10335ca0
call fcn.1014be59
add esp, 4
cmp dword [0x10335ca0], 0xffffffff
jne 0x100cd08d
push 0
push 0x63277436
mov dword [ebp - 4], 0x31
mov ecx, dword [0x10336104]
push 0xea803921
call fcn.100bb3f0
push 0x10335ca0
mov dword [0x10335c6c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c6c]
mov ecx, dword [ebp - 0x30c]
cmp dword [eax + ecx], 0
jle 0x100cd0a8
movss xmm0, dword [edi + 0x138]
jmp 0x100cd0b0
movss xmm0, dword [edi + 0x134]
movss xmm1, dword [ebp - 0x334]
xor ch, ch
mov eax, dword [0x10336270]
divss xmm1, xmm0
mov edx, dword [eax + 8]
movss xmm2, dword [edx + 0x114]
mulss xmm1, dword [0x1022c7a4]
movaps xmm6, xmm2
subss xmm6, dword [eax + 0x8c]
movss xmm0, dword [edx + 0x118]
movss xmm4, dword [edx + 0x138]
movss xmm5, dword [edx + 0x13c]
movss xmm3, dword [edx + 0x140]
movss dword [ebp - 0x3ac], xmm6
movaps xmm6, xmm0
subss xmm6, dword [eax + 0x90]
mov eax, dword [0x1033629c]
cvttss2si edi, xmm1
mov cl, byte [eax + 0x1e2a52]
movss dword [ebp - 0x2fc], xmm4
mov dword [ebp - 0x30c], edi
movss dword [ebp - 0x328], xmm5
movss dword [ebp - 0x2e8], xmm3
movss dword [ebp - 0x318], xmm2
movss dword [ebp - 0x314], xmm0
movss dword [ebp - 0x334], xmm6
test cl, cl
je 0x100cd163
mov ch, byte [eax + 0x1e2a29]
cmp byte [eax + 0x1e2a65], 0
jne 0x100cd175
cmp byte [eax + 0x1e2a59], 0
je 0x100cd18c
test ch, ch
je 0x100cd18c
xorps xmm1, xmm1
movss dword [ebp - 0x3ac], xmm1
movss dword [ebp - 0x334], xmm1
mov cl, byte [edx + 0x104]
movss xmm1, dword [edx + 0x11c]
and cl, 1
movss dword [ebp - 0x2f8], xmm1
mov byte [ebp - 0x2e1], cl
test edi, edi
jle 0x100cddeb
mov eax, dword fs:[0x2c]
mov edx, dword [0x103357d4]
mov esi, dword [eax + edx*4]
mov dword [ebp - 0x2f0], esi
jmp 0x100cd1d8
movss xmm5, dword [ebp - 0x328]
mov eax, dword [0x10336270]
mov edi, dword [eax + 8]
test cl, cl
jne 0x100cd23d
lea ecx, [ebp - 0x335]
call fcn.1009cd00
movss xmm1, dword [ebp - 0x2f8]
movss xmm2, dword [ebp - 0x318]
movss xmm5, dword [ebp - 0x328]
mov ecx, dword [eax + 0x1c]
mov ecx, dword [ecx + 0x2c]
xor ecx, eax
mov eax, dword [0x10335828]
mov dword [ebp - 0x320], ecx
movss xmm0, dword [ebp - 0x320]
mulss xmm0, dword [eax + 0x20]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x314]
movss dword [ebp - 0x2f8], xmm1
jmp 0x100cd242
mov eax, dword [0x10335828]
movss xmm4, dword [eax + 0x20]
mov eax, dword [0x103358f0]
movaps xmm3, xmm4
mulss xmm3, xmm2
movaps xmm2, xmm4
mov dword [ebp - 0x388], 0
mulss xmm2, xmm0
mov dword [ebp - 0x38c], 0
addss xmm3, dword [ebp - 0x2fc]
mulss xmm4, xmm1
mov dword [ebp - 0x390], 0
addss xmm2, xmm5
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x378], 0
addss xmm4, dword [ebp - 0x2e8]
movss dword [ebp - 0x320], xmm3
mov dword [ebp - 0x37c], 0
movss dword [ebp - 0x324], xmm2
mov dword [ebp - 0x380], 0
movss dword [ebp - 0x300], xmm4
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x364], 0
mov dword [ebp - 0x358], 0
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x350], 0
cmp eax, dword [esi + 4]
jle 0x100cd389
push 0x103358f0
call fcn.1014be59
add esp, 4
cmp dword [0x103358f0], 0xffffffff
jne 0x100cd389
push 0
push 0xfb2b8c0
mov dword [ebp - 4], 0x32
mov ecx, dword [0x10336104]
push 0xaf3beedc
call fcn.100bb3f0
push 0x103358f0
mov dword [0x103358f4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [0x10335c80]
mov esi, dword [0x103358f4]
cmp eax, dword [ecx + 4]
jle 0x100cd3ef
push 0x10335c80
call fcn.1014be59
add esp, 4
cmp dword [0x10335c80], 0xffffffff
jne 0x100cd3ef
push 0
push 0x5843edce
mov dword [ebp - 4], 0x33
mov ecx, dword [0x10336104]
push 0xaf3beedc
call fcn.100bb3f0
push 0x10335c80
mov dword [0x10335c98], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
movss xmm0, dword [ebp - 0x320]
movss xmm7, dword [ebp - 0x2fc]
movss xmm2, dword [ebp - 0x324]
subss xmm0, xmm7
subss xmm2, dword [ebp - 0x328]
movss xmm1, dword [ebp - 0x300]
movss xmm5, dword [ebp - 0x2e8]
subss xmm1, xmm5
mov ecx, dword [0x10335c98]
movss dword [ebp - 0x380], xmm0
movss dword [ebp - 0x37c], xmm2
mulss xmm0, xmm0
mov dword [ebp - 0x350], 0
mulss xmm2, xmm2
mov byte [ebp - 0x34b], 1
movss dword [ebp - 0x378], xmm1
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
ucomiss xmm0, dword [0x1022c598]
lahf
test ah, 0x44
jp 0x100cd47e
mov byte [ebp - 0x34b], 0
movss xmm3, dword [esi + edi]
subss xmm3, dword [ecx + edi]
movss xmm2, dword [esi + edi + 4]
subss xmm2, dword [ecx + edi + 4]
movss xmm1, dword [esi + edi + 8]
subss xmm1, dword [ecx + edi + 8]
movss xmm6, dword [0x1022c6cc]
movaps xmm0, xmm3
mulss xmm0, xmm6
mulss xmm3, xmm3
movss dword [ebp - 0x360], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm6
mulss xmm2, xmm2
movss dword [ebp - 0x35c], xmm0
movaps xmm0, xmm1
mulss xmm1, xmm1
addss xmm3, xmm2
mulss xmm0, xmm6
movss dword [ebp - 0x358], xmm0
addss xmm3, xmm1
movsd xmm1, qword [0x1022c6a8]
mulss xmm3, dword [0x1022c68c]
cvtps2pd xmm0, xmm3
comisd xmm1, xmm0
seta byte [ebp - 0x34c]
movss xmm3, dword [ecx + edi + 4]
addss xmm3, dword [esi + edi + 4]
movss xmm2, dword [esi + edi]
xor eax, eax
addss xmm2, dword [ecx + edi]
movss xmm4, dword [ecx + edi + 8]
lea ecx, [ebp - 0x39c]
addss xmm4, dword [esi + edi + 8]
mulss xmm3, xmm6
mov dword [ebp - 0x2d8], 0
mulss xmm2, xmm6
mov dword [ebp - 0x2dc], 0
movaps xmm0, xmm3
mulss xmm4, xmm6
mov dword [ebp - 0x2e0], 0
addss xmm0, dword [ebp - 0x328]
movaps xmm1, xmm2
mov dword [ebp - 0x2cc], 0
addss xmm5, xmm4
mov dword [ebp - 0x2d0], 0
addss xmm1, xmm7
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2c0], 0
movss dword [ebp - 0x38c], xmm0
movss xmm0, dword [0x1022cc60]
xorps xmm2, xmm0
movss dword [ebp - 0x388], xmm5
xorps xmm3, xmm0
movss dword [ebp - 0x390], xmm1
xorps xmm4, xmm0
movss dword [ebp - 0x370], xmm2
xorps xmm0, xmm0
movss dword [ebp - 0x36c], xmm3
movss dword [ebp - 0x368], xmm4
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2a8], eax
movq qword [ebp - 0x2a4], xmm0
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x290], eax
call fcn.10031710
mov ecx, dword [0x1033582c]
lea edx, [ebp - 0x2e0]
push edx
lea edx, [ebp - 0x39c]
mov dword [ebp - 0x398], edi
push edx
mov eax, dword [ecx]
push 0x201400b
lea edx, [ebp - 0x390]
push edx
call dword [eax + 0x14]
movss xmm0, dword [ebp - 0x2b4]
ucomiss xmm0, dword [0x1022c720]
lahf
test ah, 0x44
jnp 0x100cdaa6
mov eax, dword fs:[0x2c]
mov ecx, dword [0x103357d4]
mov dword [ebp - 0x2fc], 0
mov esi, dword [eax + ecx*4]
nop word [eax + eax]
movss xmm7, dword [ebp - 0x2c8]
movss xmm1, dword [ebp - 0x2c4]
movaps xmm2, xmm7
movss xmm5, dword [ebp - 0x318]
movaps xmm0, xmm1
movss xmm6, dword [ebp - 0x314]
movss xmm3, dword [ebp - 0x2c0]
movss xmm4, dword [ebp - 0x2f8]
mulss xmm0, xmm6
mulss xmm2, xmm5
addss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm4
addss xmm2, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm2
mulss xmm1, xmm2
subss xmm5, xmm0
mulss xmm3, xmm2
movss xmm2, dword [ebp - 0x2c4]
subss xmm6, xmm1
movaps xmm0, xmm7
movaps xmm1, xmm2
subss xmm4, xmm3
movss xmm3, dword [ebp - 0x2c0]
mulss xmm0, xmm5
mulss xmm1, xmm6
movss dword [ebp - 0x318], xmm5
movss dword [ebp - 0x314], xmm6
addss xmm1, xmm0
movss dword [ebp - 0x2f8], xmm4
movaps xmm0, xmm3
mulss xmm0, xmm4
addss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x100cd785
mulss xmm7, xmm1
mulss xmm2, xmm1
mulss xmm3, xmm1
subss xmm5, xmm7
subss xmm6, xmm2
subss xmm4, xmm3
movss dword [ebp - 0x318], xmm5
movss dword [ebp - 0x314], xmm6
movss dword [ebp - 0x2f8], xmm4
movss xmm3, dword [0x1022c720]
subss xmm3, dword [ebp - 0x2b4]
mov eax, dword [0x10335828]
mulss xmm3, dword [eax + 0x20]
mov eax, dword [0x103358f0]
movaps xmm0, xmm3
movaps xmm1, xmm3
mulss xmm0, xmm5
mulss xmm4, xmm3
movss xmm3, dword [ebp - 0x2d4]
addss xmm3, xmm0
movss xmm0, dword [ebp - 0x2d0]
mulss xmm1, xmm6
addss xmm0, xmm1
movss dword [ebp - 0x300], xmm3
movss dword [ebp - 0x324], xmm0
movss xmm0, dword [ebp - 0x2cc]
addss xmm0, xmm4
movss dword [ebp - 0x320], xmm0
cmp eax, dword [esi + 4]
jle 0x100cd847
push 0x103358f0
call fcn.1014be59
add esp, 4
cmp dword [0x103358f0], 0xffffffff
jne 0x100cd847
push 0
push 0xfb2b8c0
mov dword [ebp - 4], 0x34
mov ecx, dword [0x10336104]
push 0xaf3beedc
call fcn.100bb3f0
push 0x103358f0
mov dword [0x103358f4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov eax, dword [0x10335c80]
mov edx, dword [0x103358f4]
mov dword [ebp - 0x2e8], edx
cmp eax, dword [esi + 4]
jle 0x100cd8b3
push 0x10335c80
call fcn.1014be59
add esp, 4
cmp dword [0x10335c80], 0xffffffff
jne 0x100cd8ad
push 0
push 0x5843edce
mov dword [ebp - 4], 0x35
mov ecx, dword [0x10336104]
push 0xaf3beedc
call fcn.100bb3f0
push 0x10335c80
mov dword [0x10335c98], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov edx, dword [ebp - 0x2e8]
movss xmm0, dword [ebp - 0x300]
subss xmm0, dword [ebp - 0x2d4]
movss xmm1, dword [ebp - 0x324]
subss xmm1, dword [ebp - 0x2d0]
movss xmm2, dword [ebp - 0x320]
subss xmm2, dword [ebp - 0x2cc]
movss dword [ebp - 0x380], xmm0
mulss xmm0, xmm0
mov ecx, dword [0x10335c98]
movss dword [ebp - 0x37c], xmm1
mulss xmm1, xmm1
mov dword [ebp - 0x350], 0
movss dword [ebp - 0x378], xmm2
mulss xmm2, xmm2
mov byte [ebp - 0x34b], 1
addss xmm0, xmm1
addss xmm0, xmm2
ucomiss xmm0, dword [0x1022c598]
lahf
test ah, 0x44
jp 0x100cd93a
mov byte [ebp - 0x34b], 0
movss xmm3, dword [edx + edi]
subss xmm3, dword [ecx + edi]
movss xmm2, dword [edx + edi + 4]
subss xmm2, dword [ecx + edi + 4]
movss xmm1, dword [edx + edi + 8]
subss xmm1, dword [ecx + edi + 8]
movss xmm6, dword [0x1022c6cc]
movaps xmm0, xmm3
mulss xmm0, xmm6
mulss xmm3, xmm3
movss dword [ebp - 0x360], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm6
mulss xmm2, xmm2
movss dword [ebp - 0x35c], xmm0
movaps xmm0, xmm1
mulss xmm1, xmm1
addss xmm3, xmm2
mulss xmm0, xmm6
movss xmm2, dword [ebp - 0x2d4]
movss dword [ebp - 0x358], xmm0
addss xmm3, xmm1
movsd xmm1, qword [0x1022c6a8]
mulss xmm3, dword [0x1022c68c]
cvtps2pd xmm0, xmm3
comisd xmm1, xmm0
movss xmm0, dword [ebp - 0x2cc]
movss xmm1, dword [ebp - 0x2d0]
seta byte [ebp - 0x34c]
movss xmm5, dword [ecx + edi + 8]
addss xmm5, dword [edx + edi + 8]
movss xmm3, dword [edx + edi]
movss xmm4, dword [ecx + edi + 4]
addss xmm4, dword [edx + edi + 4]
addss xmm3, dword [ecx + edi]
mov ecx, dword [0x1033582c]
lea edx, [ebp - 0x2e0]
mulss xmm5, xmm6
push edx
mulss xmm4, xmm6
lea edx, [ebp - 0x39c]
push edx
addss xmm0, xmm5
mulss xmm3, xmm6
push 0x201400b
addss xmm1, xmm4
lea edx, [ebp - 0x390]
addss xmm2, xmm3
movss dword [ebp - 0x388], xmm0
movss xmm0, dword [0x1022cc60]
xorps xmm3, xmm0
movss dword [ebp - 0x38c], xmm1
xorps xmm4, xmm0
movss dword [ebp - 0x370], xmm3
xorps xmm5, xmm0
movss dword [ebp - 0x390], xmm2
movss dword [ebp - 0x36c], xmm4
movss dword [ebp - 0x368], xmm5
mov eax, dword [ecx]
push edx
call dword [eax + 0x14]
movss xmm0, dword [ebp - 0x2b4]
ucomiss xmm0, dword [0x1022c720]
lahf
test ah, 0x44
jnp 0x100cdaa6
mov eax, dword [ebp - 0x2fc]
inc eax
mov dword [ebp - 0x2fc], eax
cmp eax, 2
jl 0x100cd6a0
movss xmm0, dword [ebp - 0x2d4]
mov esi, dword [ebp - 0x2f0]
mov eax, dword [0x103358f0]
movss dword [ebp - 0x2fc], xmm0
movss xmm0, dword [ebp - 0x2d0]
movss dword [ebp - 0x328], xmm0
movss xmm0, dword [ebp - 0x2cc]
movss dword [ebp - 0x2e8], xmm0
subss xmm0, dword [0x1022c760]
movss dword [ebp - 0x300], xmm0
cmp eax, dword [esi + 4]
jle 0x100cdb46
push 0x103358f0
call fcn.1014be59
add esp, 4
cmp dword [0x103358f0], 0xffffffff
jne 0x100cdb46
push 0
push 0xfb2b8c0
mov dword [ebp - 4], 0x36
mov ecx, dword [0x10336104]
push 0xaf3beedc
call fcn.100bb3f0
push 0x103358f0
mov dword [0x103358f4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov ecx, dword [ebp - 0x2f0]
mov eax, dword [0x10335c80]
mov esi, dword [0x103358f4]
cmp eax, dword [ecx + 4]
jle 0x100cdbac
push 0x10335c80
call fcn.1014be59
add esp, 4
cmp dword [0x10335c80], 0xffffffff
jne 0x100cdbac
push 0
push 0x5843edce
mov dword [ebp - 4], 0x37
mov ecx, dword [0x10336104]
push 0xaf3beedc
call fcn.100bb3f0
push 0x10335c80
mov dword [0x10335c98], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
movss xmm0, dword [ebp - 0x300]
xorps xmm1, xmm1
movss xmm6, dword [ebp - 0x2e8]
mov ecx, dword [0x10335c98]
subss xmm0, xmm6
movss dword [ebp - 0x380], xmm1
movss dword [ebp - 0x37c], xmm1
mov dword [ebp - 0x350], 0
mov byte [ebp - 0x34b], 1
movss dword [ebp - 0x378], xmm0
mulss xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100cdc06
mov byte [ebp - 0x34b], 0
movss xmm3, dword [esi + edi]
lea edx, [ebp - 0x2e0]
subss xmm3, dword [ecx + edi]
movss xmm2, dword [esi + edi + 4]
subss xmm2, dword [ecx + edi + 4]
movss xmm1, dword [esi + edi + 8]
subss xmm1, dword [ecx + edi + 8]
movss xmm7, dword [0x1022c6cc]
movaps xmm0, xmm3
mulss xmm0, xmm7
push edx
mulss xmm3, xmm3
lea edx, [ebp - 0x39c]
push edx
movss dword [ebp - 0x360], xmm0
lea edx, [ebp - 0x390]
movaps xmm0, xmm2
mulss xmm2, xmm2
push 0x201400b
mulss xmm0, xmm7
push edx
addss xmm3, xmm2
movss xmm2, dword [ebp - 0x2fc]
movss dword [ebp - 0x35c], xmm0
movaps xmm0, xmm1
mulss xmm1, xmm1
mulss xmm0, xmm7
addss xmm3, xmm1
movsd xmm1, qword [0x1022c6a8]
movss dword [ebp - 0x358], xmm0
mulss xmm3, dword [0x1022c68c]
cvtps2pd xmm0, xmm3
comisd xmm1, xmm0
seta byte [ebp - 0x34c]
movss xmm5, dword [ecx + edi + 8]
addss xmm5, dword [esi + edi + 8]
movss xmm4, dword [ecx + edi + 4]
addss xmm4, dword [esi + edi + 4]
movss xmm3, dword [esi + edi]
addss xmm3, dword [ecx + edi]
mov ecx, dword [0x1033582c]
mulss xmm5, xmm7
mulss xmm4, xmm7
movaps xmm0, xmm5
mulss xmm3, xmm7
addss xmm0, xmm6
movaps xmm1, xmm4
addss xmm1, dword [ebp - 0x328]
addss xmm2, xmm3
movss dword [ebp - 0x388], xmm0
movss xmm0, dword [0x1022cc60]
xorps xmm3, xmm0
movss dword [ebp - 0x390], xmm2
xorps xmm4, xmm0
movss dword [ebp - 0x38c], xmm1
xorps xmm5, xmm0
movss dword [ebp - 0x370], xmm3
movss dword [ebp - 0x36c], xmm4
movss dword [ebp - 0x368], xmm5
mov eax, dword [ecx]
call dword [eax + 0x14]
mov cl, byte [ebp - 0x2e1]
movss xmm1, dword [ebp - 0x2f8]
test cl, cl
je 0x100cdd8d
movss xmm2, dword [ebp - 0x3ac]
movss xmm0, dword [ebp - 0x334]
addss xmm2, dword [ebp - 0x318]
addss xmm0, dword [ebp - 0x314]
movss dword [ebp - 0x2f8], xmm1
movss dword [ebp - 0x318], xmm2
movss dword [ebp - 0x314], xmm0
jmp 0x100cdd9d
movss xmm2, dword [ebp - 0x318]
movss xmm0, dword [ebp - 0x314]
sub dword [ebp - 0x30c], 1
mov esi, dword [ebp - 0x2f0]
jne 0x100cd1d0
movss xmm4, dword [ebp - 0x2fc]
movss xmm0, dword [ebp - 0x328]
movss xmm3, dword [ebp - 0x2e8]
mov esi, dword [ebp - 0x31c]
mov eax, dword [0x1033629c]
movss dword [ebp - 0x2fc], xmm4
movss dword [ebp - 0x328], xmm0
movss dword [ebp - 0x2e8], xmm3
mov ecx, dword [0x10336270]
mov edx, dword [0x103357d4]
mov edi, dword [ecx + 8]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + edx*4]
mov ecx, dword [0x10335b5c]
cmp ecx, dword [edx + 4]
jle 0x100cde5d
push 0x10335b5c
call fcn.1014be59
add esp, 4
cmp dword [0x10335b5c], 0xffffffff
jne 0x100cde58
push 0
push 0x6960ac19
mov dword [ebp - 4], 0x38
mov ecx, dword [0x10336104]
push 0x7b66d35c
call fcn.100bb3f0
push 0x10335b5c
mov dword [0x10335b64], eax
call fcn.1014be08
add esp, 4
mov eax, dword [0x1033629c]
mov ecx, dword [0x10335b64]
movss xmm1, dword [ebp - 0x2fc]
movss xmm2, dword [ebp - 0x328]
movss xmm0, dword [ebp - 0x2e8]
addss xmm1, dword [ecx + edi]
addss xmm2, dword [ecx + edi + 4]
addss xmm0, dword [ecx + edi + 8]
lea ecx, [ebp - 0x3a8]
movss dword [eax + 0x1e2a00], xmm1
movss dword [eax + 0x1e2a04], xmm2
movss dword [eax + 0x1e2a08], xmm0
call fcn.10031680
mov dword [ebp - 4], 0x39
xor dl, dl
mov eax, dword [0x103362e0]
cmp byte [eax], dl
jne 0x100ce0a0
mov edi, dword [0x1033629c]
lea eax, [ebp - 0x3d8]
push 1
push eax
mov ecx, edi
call fcn.100c4fd0
mov edx, dword [ebp - 0x304]
lea ecx, [ebp - 0x3a8]
push 1
mov byte [ebp - 4], 0x3a
push ecx
mov edx, dword [edx + esi + 4]
mov ecx, edi
push eax
push dword [edx + 0x8478]
push edx
call fcn.100c7480
lea ecx, [ebp - 0x3d8]
mov byte [ebp - 4], 0x39
call fcn.100182f0
mov ecx, dword [0x1033629c]
lea eax, [ebp - 0x3a8]
push eax
mov eax, dword [ebp - 0x304]
push dword [eax + esi + 4]
call fcn.100c7930
mov byte [ebp - 0x2f4], 0
lea eax, [ebp - 0x3a8]
push dword [ebp - 0x2f4]
mov ecx, 0x101f32b8
push dword [ebp - 0x32c]
push eax
call fcn.100cf770
mov dl, al
mov byte [ebp - 0x2e1], dl
test dl, dl
je 0x100ce0a0
mov ecx, dword [0x1033629c]
cmp byte [ecx + 0x1e2a45], 0
je 0x100ce0a0
mov esi, dword [0x103357d4]
mov ecx, dword fs:[0x2c]
mov eax, dword [0x10336270]
mov edi, dword [ecx + esi*4]
mov eax, dword [eax + 0x14]
mov esi, dword [ebp - 0x31c]
mov dword [ebp - 0x300], eax
mov eax, dword [0x10335ca0]
cmp eax, dword [edi + 4]
jle 0x100cdff1
push 0x10335ca0
call fcn.1014be59
add esp, 4
cmp dword [0x10335ca0], 0xffffffff
jne 0x100cdfeb
push 0
push 0x63277436
mov byte [ebp - 4], 0x3b
mov ecx, dword [0x10336104]
push 0xea803921
call fcn.100bb3f0
push 0x10335ca0
mov dword [0x10335c6c], eax
mov byte [ebp - 4], 0x39
call fcn.1014be08
add esp, 4
mov dl, byte [ebp - 0x2e1]
mov eax, dword [0x10335c6c]
mov ecx, dword [ebp - 0x300]
cmp dword [eax + ecx], 0
jne 0x100ce0a0
mov eax, dword [0x10336270]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x300], eax
mov eax, dword [0x10335848]
cmp eax, dword [edi + 4]
jle 0x100ce068
push 0x10335848
call fcn.1014be59
add esp, 4
cmp dword [0x10335848], 0xffffffff
jne 0x100ce068
push 0
push 0x8d29f550
mov byte [ebp - 4], 0x3c
mov ecx, dword [0x10336104]
push 0x19c23329
call fcn.100bb3f0
push 0x10335848
mov dword [0x1033584c], eax
mov byte [ebp - 4], 0x39
call fcn.1014be08
add esp, 4
mov eax, dword [0x1033584c]
mov ecx, dword [ebp - 0x300]
movsx eax, word [ecx + eax]
add eax, 0xfffffff7
cmp eax, 0x1f
ja case.0x100ce086.10
movzx eax, byte [eax + 0x100cf04c]
jmp dword [eax*4 + 0x100cf044]
mov eax, dword [ebp - 0x310]
or dword [eax + 0x30], 0x80000
mov dl, byte [ebp - 0x2e1]
mov eax, dword [ebp - 0x304]
mov ecx, dword [eax + esi]
mov byte [eax + esi + 0x64], 1
mov eax, dword [0x1033629c]
mov dword [eax + 0x1e2a54], ecx
mov ecx, dword [ebp - 0x304]
cmp byte [ecx + esi + 0x4c], 0
je 0x100ce0d1
cmp byte [ecx + esi + 0x38], 0
jne 0x100ce526
mov eax, dword [0x1033629c]
lea ecx, [ebp - 0x3a8]
mov dword [ebp - 4], 0xffffffff
test dl, dl
jne 0x100ceee3
mov dword [eax + 0x1e2a54], 0
call fcn.10033c30
mov ecx, dword [ebp - 0x304]
mov dword [ecx + esi], 0
mov dword [ecx + esi + 4], 0
mov dword [ecx + esi + 0x14], 0
mov dword [ecx + esi + 0x18], 0
add ecx, 0x1c
add ecx, esi
call fcn.100cf3f0
mov edi, dword [ebp - 0x304]
lea ecx, [ebp - 0x3c0]
mov dword [edi + esi + 0x5c], 0
call fcn.10031680
lea eax, [ebp - 0x3c0]
lea ecx, [edi + 0x50]
push eax
add ecx, esi
call fcn.100cf260
lea ecx, [ebp - 0x3c0]
call fcn.10033c30
mov eax, dword [ebp - 0x2ec]
inc eax
mov dword [ebp - 0x2ec], eax
cmp eax, 0x40
jl 0x100cc8f0
mov cl, byte [ebp - 0x305]
mov eax, dword [0x103362e0]
cmp byte [eax], 0
jne 0x100ce197
test cl, cl
jne 0x100ce197
mov eax, dword [0x1033629c]
mov dword [eax + 0x1e2a54], 0
mov esi, dword [0x1033629c]
mov eax, dword [esi + 0x1e2a1c]
mov ecx, dword [esi + 0x1e2a20]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2f4], ecx
cmp eax, ecx
je 0x100ce4f2
nop dword [eax]
mov edi, dword [eax]
mov dword [ebp - 0x2f0], edi
lea ecx, [edi + 8]
mov dword [ebp - 0x32c], ecx
xor edx, edx
mov dword [ebp - 4], 0x5d
test ecx, ecx
mov eax, ecx
cmove eax, edx
mov eax, dword [eax]
mov eax, dword [eax + 0x28]
call eax
mov dword [ebp - 4], 0xffffffff
mov edi, dword [0x103357d4]
mov edx, dword fs:[0x2c]
imul eax, eax, 0x183c
mov ecx, dword [edx + edi*4]
mov edi, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e8], eax
movss xmm0, dword [esi + eax + 0x1a00]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [esi + eax + 0x1a04]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [esi + eax + 0x1a08]
mov eax, dword [0x10335b30]
movss dword [ebp - 0x3b8], xmm0
cmp eax, dword [ecx + 4]
jle 0x100ce27e
push 0x10335b30
call fcn.1014be59
add esp, 4
cmp dword [0x10335b30], 0xffffffff
jne 0x100ce27e
mov eax, dword [0x103361b8]
push 0x10335b30
mov dword [0x10335b34], eax
call fcn.1014be08
add esp, 4
lea eax, [ebp - 0x3c0]
mov ecx, edi
push eax
call dword [0x10335b34]
mov edi, dword [0x103357d4]
mov edx, dword fs:[0x2c]
mov eax, dword [0x103358f8]
mov ecx, dword [edx + edi*4]
mov edi, dword [ebp - 0x2f0]
cmp eax, dword [ecx + 4]
jle 0x100ce2fd
push 0x103358f8
call fcn.1014be59
add esp, 4
cmp dword [0x103358f8], 0xffffffff
jne 0x100ce2fd
push 0
push 0x2fb428ac
mov dword [ebp - 4], 0x5e
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x103358f8
mov dword [0x103358ec], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov edx, dword [ebp - 0x2e8]
mov ecx, dword [0x103358ec]
mov eax, dword [esi + edx + 0x1a24]
mov dword [ecx + edi], eax
mov eax, dword [esi + edx + 0x1a28]
mov dword [ecx + edi + 4], eax
mov eax, dword [esi + edx + 0x1a2c]
mov dword [ecx + edi + 8], eax
mov eax, dword [esi + edx + 0x3230]
mov edx, dword fs:[0x2c]
mov dword [edi + 0x104], eax
mov edi, dword [0x103357d4]
mov eax, dword [0x10335c80]
mov ecx, dword [edx + edi*4]
mov edi, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2e8]
cmp eax, dword [ecx + 4]
jle 0x100ce3b2
push 0x10335c80
call fcn.1014be59
add esp, 4
cmp dword [0x10335c80], 0xffffffff
jne 0x100ce3ac
push 0
push 0x5843edce
mov dword [ebp - 4], 0x5f
mov ecx, dword [0x10336104]
push 0xaf3beedc
call fcn.100bb3f0
push 0x10335c80
mov dword [0x10335c98], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov edx, dword [ebp - 0x2e8]
mov ecx, dword [0x10335c98]
mov eax, dword [esi + edx + 0x1a0c]
mov dword [ecx + edi], eax
mov eax, dword [esi + edx + 0x1a10]
mov dword [ecx + edi + 4], eax
mov eax, dword [esi + edx + 0x1a14]
mov edx, dword fs:[0x2c]
mov dword [ecx + edi + 8], eax
mov edi, dword [0x103357d4]
mov eax, dword [0x103358f0]
mov ecx, dword [edx + edi*4]
mov edi, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2e8]
cmp eax, dword [ecx + 4]
jle 0x100ce454
push 0x103358f0
call fcn.1014be59
add esp, 4
cmp dword [0x103358f0], 0xffffffff
jne 0x100ce44e
push 0
push 0xfb2b8c0
mov dword [ebp - 4], 0x60
mov ecx, dword [0x10336104]
push 0xaf3beedc
call fcn.100bb3f0
push 0x103358f0
mov dword [0x103358f4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1014be08
add esp, 4
mov edx, dword [ebp - 0x2e8]
mov ecx, dword [0x103358f4]
mov eax, dword [esi + edx + 0x1a18]
mov dword [ecx + edi], eax
mov eax, dword [esi + edx + 0x1a1c]
mov dword [ecx + edi + 4], eax
mov eax, dword [esi + edx + 0x1a20]
mov dword [ecx + edi + 8], eax
lea ecx, [edx + 0x1a30]
mov eax, dword [esi + edx + 0x3234]
add ecx, esi
mov dword [edi + 0x9920], eax
mov eax, dword [esi + edx + 0x3238]
mov dword [edi + 0x9924], eax
mov eax, dword [edi + 0x2920]
mov edx, dword [edi + 0x2914]
lea eax, [eax + eax*2]
shl eax, 4
shr eax, 4
test eax, eax
je 0x100ce4d1
sub edx, ecx
nop word [eax + eax]
lea ecx, [ecx + 0x10]
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [edx + ecx - 0x10], xmm0
sub eax, 1
jne 0x100ce4c0
mov eax, dword [ebp - 0x2ec]
mov esi, dword [0x1033629c]
add eax, 4
mov dword [ebp - 0x2ec], eax
cmp eax, dword [ebp - 0x2f4]
jne 0x100ce1c0
mov eax, dword [esi + 0x1e2a1c]
cmp eax, dword [esi + 0x1e2a20]
je case.0x100ca7e8.0
mov dword [esi + 0x1e2a20], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1014ba4f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
lea edx, [ecx + 0x1c]
add edx, esi
mov dword [ebp - 0x2e8], edx
cmp byte [edx + 0x30], 0
je 0x100cef11
mov ecx, dword [ecx + esi + 4]
sub esp, 0x10
mov al, byte [edx + 0x24]
mov edi, esp
sub esp, 0xc
mov byte [ecx + 0x8511], al
mov ecx, esp
mov eax, dword [ebp - 0x304]
sub esp, 0xc
mov eax, dword [eax + esi + 4]
mov byte [eax + 0x8510], 0
mov eax, dword [0x1033629c]
mov dword [ebp - 0x2f4], eax
mov eax, dword [edx + 4]
mov dword [ecx], eax
mov eax, dword [edx + 8]
mov dword [ecx + 4], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 8], eax
mov ecx, esp
mov edx, dword [0x10336270]
mov eax, dword [edx + 0x24]
mov dword [ecx], eax
mov eax, dword [edx + 0x28]
mov dword [ecx + 4], eax
mov eax, dword [edx + 0x2c]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x3c0]
call fcn.100aaf70
mov ecx, dword [ebp - 0x2f4]
add esp, 0x18
mov edx, dword [eax]
mov dword [edi], edx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
lea eax, [ebp - 0x3e4]
push eax
mov byte [edi + 0xc], 1
call fcn.100c4360
mov edx, dword [0x1033629c]
movss xmm0, dword [eax]
movss dword [edx + 0x1e2a00], xmm0
mov ecx, dword [eax + 4]
mov dword [edx + 0x1e2a04], ecx
mov eax, dword [eax + 8]
mov dword [edx + 0x1e2a08], eax
mov ecx, dword [0x10336270]
movss dword [ecx + 0x24], xmm0
mov eax, dword [edx + 0x1e2a04]
mov dword [ecx + 0x28], eax
mov eax, dword [edx + 0x1e2a08]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x2e8]
mov eax, dword [eax + esi + 4]
mov dword [ebp - 0x31c], eax
mov eax, dword [eax + 0x8478]
mov dword [ebp - 0x324], eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x320], eax
mov eax, dword [0x1033629c]
movd xmm0, dword [eax + 0x1e2a37]
lea edi, [eax + 0x1e2a00]
mov eax, dword [0x10336270]
cvtdq2ps xmm0, xmm0
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x32c], ecx
mulss xmm0, dword [0x1022c61c]
movss dword [ebp - 0x2ec], xmm0
xor edx, edx
mov byte [ebp - 4], 0x3d
test ecx, ecx
mov eax, ecx
cmove eax, edx
mov eax, dword [eax]
mov eax, dword [eax + 0x78c]
mov dword [ebp - 0x2f4], eax
call dword [ebp - 0x2f4]
mov eax, dword [0x10336270]
fstp dword [ebp - 0x300]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x32c], ecx
xor edx, edx
mov byte [ebp - 4], 0x3e
test ecx, ecx
mov eax, ecx
cmove eax, edx
mov eax, dword [eax]
mov eax, dword [eax + 0x714]
mov dword [ebp - 0x2f4], eax
call dword [ebp - 0x2f4]
mov ecx, dword [ebp - 0x2e8]
push 1
push 0
push dword [ebp - 0x324]
mov byte [ebp - 4], 0x39
lea eax, [ecx + 4]
push dword [ebp - 0x320]
movss xmm0, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x31c]
push ecx
movss dword [esp], xmm0
fstp dword [ebp - 0x2f4]
movss xmm1, dword [ebp - 0x2f4]
addss xmm1, dword [ebp - 0x300]
push eax
push edi
lea edi, [ecx + 0x28]
mov ecx, edi
call fcn.100983f0
mov eax, dword [0x10336270]
add esp, 0x1c
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x32c], ecx
xor edx, edx
mov byte [ebp - 4], 0x3f
test ecx, ecx
mov eax, ecx
cmove eax, edx
mov eax, dword [eax]
mov eax, dword [eax + 0x78c]
mov dword [ebp - 0x2f4], eax
call dword [ebp - 0x2f4]
mov byte [ebp - 4], 0x39
mov eax, dword [0x1033629c]
movss xmm0, dword [0x1022c5c8]
fstp dword [ebp - 0x2f4]
comiss xmm0, dword [eax + 0x1e2a74]
jb 0x100ce775
inc dword [eax + 0x1e2a7c]
mov eax, dword [0x1033629c]
movss xmm0, dword [ebp - 0x2f4]
movss dword [eax + 0x1e2a78], xmm0
mov eax, dword [0x1033629c]
movd xmm0, dword [eax + 0x1e2a37]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1022c61c]
comiss xmm0, dword [edi]
jbe 0x100ce7c6
cmp byte [eax + 0x1e2a3b], 0
jne 0x100ce7b4
cmp dword [eax + 0x1e2a7c], 7
jge 0x100ce7c6
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3a8]
jmp 0x100ceeea
mov eax, dword [0x10335fb8]
mov edi, dword [ebp - 0x310]
cmp byte [eax + 0x82], 0
je 0x100ce7de
or dword [edi + 0x30], 1
test byte [edi + 0x30], 1
je 0x100ce7b4
mov edx, dword [ebp - 0x2e8]
sub esp, 0xc
mov eax, dword [ebp - 0x304]
mov ecx, esp
sub esp, 0xc
mov eax, dword [eax + esi + 0x18]
mov dword [edi + 8], eax
mov eax, dword [edx + 4]
mov dword [ecx], eax
mov eax, dword [edx + 8]
mov dword [ecx + 4], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 8], eax
mov ecx, esp
mov edx, dword [0x1033629c]
mov eax, dword [edx + 0x1e2a00]
mov dword [ecx], eax
mov eax, dword [edx + 0x1e2a04]
mov dword [ecx + 4], eax
mov eax, dword [edx + 0x1e2a08]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x3f0]
call fcn.100aaf70
lea edx, [edi + 0xc]
add esp, 0x18
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov ecx, dword [0x1033629c]
push edx
lea ecx, [ecx + 0x1e2a0c]
call fcn.100976c0
mov eax, dword [0x10336270]
mov ecx, dword [0x103357d4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x300], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10335ce0]
cmp eax, dword [ecx + 4]
jle 0x100ce8d6
push 0x10335ce0
call fcn.1014be59
add esp, 4
cmp dword [0x10335ce0], 0xffffffff
jne 0x100ce8d6
push 0
push 0x8cb8a35b
mov byte [ebp - 4], 0x40
mov ecx, dword [0x10336104]
push 0x22558ba9
call fcn.100bb3f0
push 0x10335ce0
mov dword [0x10335ce8], eax
mov byte [ebp - 4], 0x39
call fcn.1014be08
add esp, 4
mov edi, dword [0x10335ce8]
lea ecx, [ebp - 0x305]
call fcn.100c9650
mov edx, dword [ebp - 0x310]
add edx, 0xc
mov ecx, dword [eax + 0x1c]
movss xmm0, dword [edx]
mov ecx, dword [ecx + 0x2c]
xor ecx, eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x2f4], ecx
movss xmm3, dword [ebp - 0x2f4]
movaps xmm1, xmm3
movaps xmm2, xmm3
mulss xmm1, dword [edi + eax]
mulss xmm2, dword [edi + eax + 4]
mulss xmm3, dword [edi + eax + 8]
subss xmm0, xmm1
movss dword [edx], xmm0
movss xmm0, dword [edx + 4]
subss xmm0, xmm2
movss dword [edx + 4], xmm0
movss xmm0, dword [edx + 8]
subss xmm0, xmm3
movss dword [edx + 8], xmm0
mov eax, dword [0x10335fb8]
cmp byte [eax + 0x87], 0
jne 0x100ce97e
mov ecx, dword [0x10335894]
mov dword [ebp - 0x32c], ecx
xor edi, edi
mov byte [ebp - 4], 0x41
test ecx, ecx
mov eax, ecx
push edx
cmove eax, edi
mov eax, dword [eax]
mov eax, dword [eax + 0x4c]
call eax
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0x304]
push str._2Fired_shot__3__2in__3__2for__3hp_2___3__2___3sp:____2___3bt:_t_2__r:__3_n
mov eax, dword [eax + esi + 4]
movss xmm0, dword [eax + 0x14]
mov eax, dword [0x10335828]
divss xmm0, dword [eax + 0x20]
mov eax, dword [0x103358d0]
mov edx, dword [eax + 0x16c]
xor eax, eax
addss xmm0, dword [0x1022c6cc]
cvttss2si ecx, xmm0
sub edx, ecx
lea ecx, [ebp - 0x14c]
test edx, edx
cmovg eax, edx
mov dword [ebp - 0x2ec], eax
call fcn.100181e0
mov edi, eax
mov ecx, edi
mov byte [ebp - 4], 0x42
call fcn.10018180
mov dword [ebp - 0x324], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x304]
mov ecx, dword [eax + esi + 4]
mov ecx, dword [ecx + 0x8494]
movzx edi, cl
shr ecx, 8
movzx edx, cl
lea ecx, [ebp - 0x104]
call fcn.10037490
mov byte [ebp - 4], 0x45
cmp edi, 4
ja case.default.0x100cea16
jmp dword [edi*4 + 0x100cf06c]
push str.anim_
jmp 0x100cea45
push str.edge_
jmp 0x100cea45
push str.off_
jmp 0x100cea45
push str.in_air_
jmp 0x100cea45
push str.jitter_
jmp 0x100cea45
push str.unknown_
lea ecx, [ebp - 0x74]
call fcn.100181e0
lea eax, [ebp - 0x104]
mov byte [ebp - 4], 0x46
push eax
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x32c]
lea ecx, [ebp - 0xec]
call fcn.1004ca50
lea ecx, [ebp - 0x74]
call fcn.10018190
lea ecx, [ebp - 0x104]
call fcn.10018190
mov edi, dword [ebp - 0x2e8]
mov byte [ebp - 4], 0x47
movss xmm0, dword [edi + 0x28]
mulss xmm0, dword [0x1022c890]
cvttss2si eax, xmm0
mov dword [ebp - 0x2f4], eax
mov eax, dword [edi + 0x20]
cmp eax, 0x12
ja case.default.0x100ceaad
jmp dword [eax*4 + 0x100cf080]
push str.head
jmp 0x100ceb41
push str.neck
jmp 0x100ceb41
push str.pelvis
jmp 0x100ceb41
push str.stomach
jmp 0x100ceb41
push str.lower_chest
jmp 0x100ceb41
push str.chest
jmp 0x100ceb41
push str.upper_chest
jmp 0x100ceb41
push str.right_thigh
jmp 0x100ceb41
push str.left_thigh
jmp 0x100ceb41
push str.right_shin
jmp 0x100ceb41
push str.left_shin
jmp 0x100ceb41
push str.right_foot
jmp 0x100ceb41
push str.left_foot
jmp 0x100ceb41
push str.right_hand
jmp 0x100ceb41
push str.left_hand
jmp 0x100ceb41
push str.right_upper_arm
jmp 0x100ceb41
push str.right_forearm
jmp 0x100ceb41
push str.left_upper_arm
jmp 0x100ceb41
push str.left_forearm
jmp 0x100ceb41
push 0x1020961c
lea ecx, [ebp - 0x2c]
call fcn.100181e0
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x48
push eax
mov eax, dword [ebp - 0x304]
mov ecx, dword [eax + esi]
call fcn.10052e90
mov edx, eax
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 0x49
push eax
lea eax, [ebp - 0x2ec]
push eax
mov eax, dword [ebp - 0x304]
lea ecx, [eax + 0x60]
add eax, 0x5c
add eax, esi
add ecx, esi
push ecx
push eax
lea eax, [edi + 0x24]
push eax
lea eax, [ebp - 0x2f4]
push eax
lea eax, [edi + 0x10]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x288]
call fcn.100cf7a0
add esp, 0x18
mov ecx, esp
push dword [ebp - 0x300]
mov dword [ecx], 9
push dword [ebp - 0x324]
mov dword [ecx + 4], eax
lea ecx, [ebp - 0x8c]
call fcn.100205e0
add esp, 0x10
lea ecx, [ebp - 0x164]
call fcn.10018190
lea ecx, [ebp - 0x2c]
call fcn.10018190
lea ecx, [ebp - 0xec]
call fcn.10018190
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 0x4e
call fcn.10018190
push str.Fired_shot__in__for_hp_____sp:_____bt:_t__r:__n
lea ecx, [ebp - 0x134]
call fcn.100181e0
mov edi, eax
mov ecx, edi
mov byte [ebp - 4], 0x4f
call fcn.10018180
mov dword [ebp - 0x320], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x304]
mov ecx, dword [eax + esi + 4]
mov ecx, dword [ecx + 0x8494]
movzx edi, cl
shr ecx, 8
movzx edx, cl
lea ecx, [ebp - 0xd4]
call fcn.10037490
mov byte [ebp - 4], 0x52
cmp edi, 4
ja case.default.0x100cec54
jmp dword [edi*4 + 0x100cf0cc]
push str.anim_
jmp 0x100cec83
push str.edge_
jmp 0x100cec83
push str.off_
jmp 0x100cec83
push str.in_air_
jmp 0x100cec83
push str.jitter_
jmp 0x100cec83
push str.unknown_
lea ecx, [ebp - 0x5c]
call fcn.100181e0
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x53
push eax
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x32c]
lea ecx, [ebp - 0xbc]
call fcn.1004ca50
lea ecx, [ebp - 0x5c]
call fcn.10018190
lea ecx, [ebp - 0xd4]
call fcn.10018190
mov edi, dword [ebp - 0x2e8]
mov byte [ebp - 4], 0x54
movss xmm0, dword [edi + 0x28]
mulss xmm0, dword [0x1022c890]
cvttss2si eax, xmm0
mov dword [ebp - 0x300], eax
mov eax, dword [edi + 0x20]
cmp eax, 0x12
ja case.default.0x100ceceb
jmp dword [eax*4 + 0x100cf0e0]
push str.head
jmp 0x100ced7f
push str.neck
jmp 0x100ced7f
push str.pelvis
jmp 0x100ced7f
push str.stomach
jmp 0x100ced7f
push str.lower_chest
jmp 0x100ced7f
push str.chest
jmp 0x100ced7f
push str.upper_chest
jmp 0x100ced7f
push str.right_thigh
jmp 0x100ced7f
push str.left_thigh
jmp 0x100ced7f
push str.right_shin
jmp 0x100ced7f
push str.left_shin
jmp 0x100ced7f
push str.right_foot
jmp 0x100ced7f
push str.left_foot
jmp 0x100ced7f
push str.right_hand
jmp 0x100ced7f
push str.left_hand
jmp 0x100ced7f
push str.right_upper_arm
jmp 0x100ced7f
push str.right_forearm
jmp 0x100ced7f
push str.left_upper_arm
jmp 0x100ced7f
push str.left_forearm
jmp 0x100ced7f
push 0x1020961c
lea ecx, [ebp - 0x44]
call fcn.100181e0
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x55
push eax
mov eax, dword [ebp - 0x304]
mov ecx, dword [eax + esi]
call fcn.10052e90
mov edx, eax
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x56
push eax
lea eax, [ebp - 0x2ec]
push eax
mov eax, dword [ebp - 0x304]
lea ecx, [eax + 0x60]
add eax, 0x5c
add eax, esi
add ecx, esi
push ecx
push eax
lea eax, [edi + 0x24]
push eax
lea eax, [ebp - 0x300]
push eax
lea eax, [edi + 0x10]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x230]
call fcn.100cf7a0
add esp, 0x18
mov ecx, esp
push dword [ebp - 0x324]
mov dword [ecx], 9
push dword [ebp - 0x320]
mov dword [ecx + 4], eax
lea ecx, [ebp - 0xa4]
call fcn.100205e0
add esp, 0x10
lea ecx, [ebp - 0x11c]
call fcn.10018190
lea ecx, [ebp - 0x44]
call fcn.10018190
lea ecx, [ebp - 0xbc]
call fcn.10018190
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x5b
call fcn.10018190
mov eax, dword [ebp - 0x304]
push 0x8514
push dword [eax + esi + 4]
mov eax, dword [0x1033629c]
add eax, 0x1e2aa8
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x10335828]
add esp, 8
mov ecx, dword [0x1033629c]
add ecx, 0x1e2a00
movss xmm0, dword [eax + 0x10]
lea eax, [ebp - 0xa4]
movss dword [esp], xmm0
push ecx
push edi
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.100c98b0
mov byte [ebp - 4], 0x5c
mov ecx, dword [0x1033629c]
push eax
lea ecx, [ecx + 0x1e2a80]
call fcn.100cf940
lea ecx, [ebp - 0x1d8]
call fcn.10035b40
mov eax, dword [0x1033629c]
lea ecx, [ebp - 0xa4]
mov byte [eax + 0x1e2a66], 1
call fcn.10018190
lea ecx, [ebp - 0x8c]
call fcn.10018190
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3a8]
jmp 0x100ceeea
mov byte [eax + 0x1e2a65], 1
call fcn.10033c30
mov eax, dword [ebp - 0x310]
test byte [eax + 0x30], 1
je 0x100cef0a
mov eax, dword [0x1033629c]
mov dword [eax + 0x1e2a7c], 0
mov cl, 1
jmp 0x100ce17a
call fcn.1001a300
nop
push es
in eax, 12
adc bh, ch
cmpsd dword [esi], dword es:[edi]
or al, 0x10
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [edi], cl
pop ds
add byte [eax - 0x52], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
nop dword [eax]
inc eax
scasb al, byte es:[edi]
or al, 0x10
cmp al, 0xad
or al, 16
fsubr dword [ebp - 0x5382eff4]
or al, 16
outsd dx, dword [esi]
mov dl, 12
adc byte [ebx], bh
mov bl, 0xc
adc dh, cl
mov bl, 0xc
adc byte [edi], bh
mov dl, 0xc
adc dh, bh
mov bl, 0xc
adc al, ah
mov cl, 0xc
adc dl, al
scasd eax, dword es:[edi]
or al, 0x10
lahf
mov dl, 12
adc byte [ecx - 0x50], dl
or al, 0x10
js 0x100cef5f
or al, 0x10
adc byte [ecx - 0x4ebbeff4], dh
or al, 16
scasd eax, dword es:[edi]
or al, 16
lodsb al, byte [esi]
mov cl, 12
adc byte [esi + 0x21100caf], cl
mov al, 0xc
adc byte [esi - 0x51], bl
or al, 0x10
movsb byte es:[edi], byte [esi]
lodsd eax, dword [esi]
or al, 0x10
fsubr qword [esp + ecx + 0xcb0e010]
adc byte [eax - 821031760], dh
scasb al, byte es:[edi]
or al, 0x10
jo 0x100cef8f
or al, 0x10
push ebx
mov ah, 12
adc byte [edi], al
mov bl, 0xc
adc byte [edi - 0x4d], ch
or al, 0x10
sal dword [edx - 0x52f3eff4], cl
or al, 16
or al, 0xae
or al, 16
lahf
scasb al, byte es:[edi]
or al, 0x10
xor byte [esp + ecx + 0x2010010], 3
and ah, byte [edx]
add al, 5
push es
pop es
or byte [edx], ah
or dword [edx], ecx
and cl, byte [ebx]
or al, 34
or eax, 237117986
movups xmm2, xmmword [ecx]
adc dl, byte [ebx]
adc al, 21
and dl, byte [esi]
pop ss
sbb byte [ecx], bl
sbb ah, byte [edx]
sbb ebx, dword [ebx + 572662306]
and ah, byte [edx]
and ah, byte [edx]
and ah, byte [edx]
and ah, byte [edx]
and ah, byte [edx]
and ah, byte [edx]
and ah, byte [edx]
and bl, byte [esi]
pop ds
and ah, byte [eax]
and dword [ebp - 1710224160], ecx
loopne 269283415
adc byte [eax], al
add dword [eax], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [ecx], al
add byte [605031658], bl
ljmp 125675