Function at 0x100c80f0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10228432
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x102d944c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x30], 0
mov ecx, dword [0x1054dfe8]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0x10]
push dword [edx + 0x30]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x70], eax
mov eax, dword [ecx]
mov dword [ebp - 0x3c], edx
mov eax, dword [eax + 0xc]
call eax
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
push str.armschams
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x58], 0
mov esi, eax
movups xmmword [ebp - 0x6c], xmm0
call fcn.100bd420
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], 0
push eax
mov ecx, 0x10550908
mov dword [ebp - 0x30], 1
call fcn.100b9b80
cmp byte [eax], 0
je 0x100c81bd
mov eax, dword [ebp - 0x3c]
push str.arms
mov eax, dword [eax + 0x1c]
add eax, 4
push eax
call fcn.101fcfe0
add esp, 8
test eax, eax
je 0x100c81bd
cmp byte [0x10311644], 0
mov byte [ebp - 0x29], 1
jne 0x100c81c1
mov byte [ebp - 0x29], 0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x100c81fc
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c81f2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8f84
push ecx
push edx
call fcn.101fb2ba
add esp, 8
cmp byte [ebp - 0x29], 0
xorps xmm0, xmm0
je 0x100c8e5f
push 0xe
push str.arms_render_og
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x58], 0
call fcn.100bd420
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], 1
push eax
mov ecx, 0x10550908
call fcn.100b9b80
mov al, byte [eax]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 0x29], al
cmp ecx, 0x10
jb 0x100c8282
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c8275
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8f89
push ecx
push edx
call fcn.101fb2ba
mov al, byte [ebp - 0x29]
add esp, 8
test al, al
je 0x100c829f
push dword [ebp - 0x70]
mov eax, dword [0x1054fdac]
push dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x78]
push dword [ebp - 0x74]
mov eax, dword [eax + 0x54]
push dword [ebp + 0xc]
call eax
push 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
push str.arms_mat1_enable
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x6c], xmm0
call fcn.100bd420
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], 2
push eax
mov ecx, 0x10550908
call fcn.100b9b80
mov al, byte [eax]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 0x29], al
cmp ecx, 0x10
jb 0x100c831b
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c830e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8f8e
push ecx
push edx
call fcn.101fb2ba
mov al, byte [ebp - 0x29]
add esp, 8
test al, al
je 0x100c8879
mov edx, str.armschams_color
lea ecx, [ebp - 0x20]
call fcn.100c4aa0
mov ecx, dword [0x1054e008]
movss xmm0, dword [ebp - 0x14]
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
push str.arms_selc
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x6c], xmm0
call fcn.100bd420
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], 3
push eax
mov ecx, 0x10550928
call fcn.100b9b60
mov eax, dword [eax]
mov esi, dword [edi + eax*4 + 0x31b8]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x38], esi
cmp ecx, 0x10
jb 0x100c83c8
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c83be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8f93
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
cmp esi, dword [edi + 0x1834]
je 0x100c83ee
cmp esi, dword [edi + 0x183c]
jne 0x100c847c
cmp esi, dword [edi + 0x183c]
lea ecx, [ebp - 0x30]
mov eax, str.arms_glow_color
mov edx, str.armschams_color
cmovne edx, eax
call fcn.100c4990
mov eax, dword [esi]
lea ecx, [ebp - 0x29]
push 0
push ecx
push str._envmaptint
mov eax, dword [eax + 0x2c]
mov ecx, esi
call eax
cmp byte [ebp - 0x29], 0
mov edx, eax
je 0x100c847c
test edx, edx
je 0x100c847c
movzx ecx, byte [ebp - 0x2e]
sub esp, 0xc
mov eax, dword [ebp - 0x30]
movss xmm3, dword [0x102c1678]
movd xmm2, ecx
movzx ecx, ah
movzx eax, al
cvtdq2ps xmm2, xmm2
movd xmm1, ecx
mov ecx, edx
movd xmm0, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [edx]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x2c]
divss xmm2, xmm3
divss xmm1, xmm3
divss xmm0, xmm3
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call eax
cmp esi, dword [edi + 0x1828]
jne 0x100c872b
mov edx, str.armsReflectivityColor
lea ecx, [ebp - 0x30]
call fcn.100c4990
mov ecx, dword [edi + 0x1828]
lea edx, [ebp - 0x29]
push 0
push edx
push str._phongexponent
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
cmp byte [ebp - 0x29], 0
mov dword [ebp - 0x34], eax
je 0x100c854a
test eax, eax
je 0x100c854a
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push str.arms_reflectivity_f
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.100bd420
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 4
push eax
mov ecx, 0x10550948
call fcn.100b9b40
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax]
mov eax, dword [ecx]
movss dword [esp], xmm0
mov eax, dword [eax + 0x10]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x100c854a
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c8540
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8f98
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov ecx, dword [edi + 0x1828]
lea edx, [ebp - 0x29]
push 0
push edx
push str._phongboost
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
cmp byte [ebp - 0x29], 0
mov dword [ebp - 0x34], eax
je 0x100c85ff
test eax, eax
je 0x100c85ff
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push str.arms_shine_f
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.100bd420
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 5
push eax
mov ecx, 0x10550948
call fcn.100b9b40
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax]
mov eax, dword [ecx]
movss dword [esp], xmm0
mov eax, dword [eax + 0x10]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x100c85ff
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c85f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8f9d
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov ecx, dword [edi + 0x1828]
lea edx, [ebp - 0x29]
push 0
push edx
push str._rimlightboost
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
cmp byte [ebp - 0x29], 0
mov dword [ebp - 0x34], eax
je 0x100c86b4
test eax, eax
je 0x100c86b4
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push str.arms_rim_f
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.100bd420
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 6
push eax
mov ecx, 0x10550948
call fcn.100b9b40
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax]
mov eax, dword [ecx]
movss dword [esp], xmm0
mov eax, dword [eax + 0x10]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x100c86b4
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c86aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8fa2
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov ecx, dword [edi + 0x1828]
lea edx, [ebp - 0x29]
push 0
push edx
push str._envmaptint
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
cmp byte [ebp - 0x29], 0
mov edx, eax
je 0x100c872b
test edx, edx
je 0x100c872b
movzx ecx, byte [ebp - 0x2e]
sub esp, 0xc
mov eax, dword [ebp - 0x30]
movss xmm3, dword [0x102c1678]
movd xmm2, ecx
movzx ecx, ah
movzx eax, al
cvtdq2ps xmm2, xmm2
movd xmm1, ecx
mov ecx, edx
movd xmm0, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [edx]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x2c]
divss xmm2, xmm3
divss xmm1, xmm3
divss xmm0, xmm3
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call eax
push 0xd
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
push str.arms_mat1_xqz
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x40], 0
movups xmmword [ebp - 0x54], xmm0
call fcn.100bd420
lea eax, [ebp - 0x54]
mov dword [ebp - 4], 7
push eax
mov ecx, 0x10550908
call fcn.100b9b80
mov edx, str.armschams_color
lea ecx, [ebp - 0x30]
mov al, byte [eax]
mov byte [ebp - 0x34], al
call fcn.100c4990
movss xmm1, dword [0x102c1678]
mov edx, dword [0x1054e008]
mov dword [ebp - 0x14], 0x3f800000
mov ecx, dword [eax]
movzx eax, cl
movd xmm0, eax
mov eax, ecx
cvtdq2ps xmm0, xmm0
shr eax, 8
movzx eax, al
shr ecx, 0x10
divss xmm0, xmm1
movss dword [ebp - 0x20], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, cl
lea ecx, [ebp - 0x20]
push ecx
mov ecx, edx
divss xmm0, xmm1
movss dword [ebp - 0x1c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
mov eax, dword [edx]
mov eax, dword [eax + 0x18]
call eax
mov eax, dword [esi]
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
push esi
mov eax, dword [eax + 0x74]
push 0x400
call eax
mov ecx, dword [ebp - 0x38]
push esi
push 0x4000
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [ebp - 0x38]
push esi
push 0x8000
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x1054e018]
push 0
push 0
push dword [ebp - 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x100c8860
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c8856
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8fa7
push ecx
push edx
call fcn.101fb2ba
add esp, 8
push dword [ebp - 0x70]
mov eax, dword [0x1054fdac]
push dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x78]
push dword [ebp - 0x74]
mov eax, dword [eax + 0x54]
push dword [ebp + 0xc]
call eax
push 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
push str.arms_mat2_enable
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x40], 0
movups xmmword [ebp - 0x54], xmm0
call fcn.100bd420
lea eax, [ebp - 0x54]
mov dword [ebp - 4], 8
push eax
mov ecx, 0x10550908
call fcn.100b9b80
mov al, byte [eax]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x40]
mov byte [ebp - 0x29], al
cmp ecx, 0x10
jb 0x100c88f5
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c88e8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8fac
push ecx
push edx
call fcn.101fb2ba
mov al, byte [ebp - 0x29]
add esp, 8
test al, al
je 0x100c8e53
mov edx, str.armschams_color2
lea ecx, [ebp - 0x20]
call fcn.100c4aa0
mov ecx, dword [0x1054e008]
movss xmm0, dword [ebp - 0x14]
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
push str.arms_selc2
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x6c], xmm0
call fcn.100bd420
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], 9
push eax
mov ecx, 0x10550928
call fcn.100b9b60
mov eax, dword [eax]
mov esi, dword [edi + eax*4 + 0x31b8]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x38], esi
cmp ecx, 0x10
jb 0x100c89a2
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c8998
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8fb1
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
cmp esi, dword [edi + 0x1834]
je 0x100c89c8
cmp esi, dword [edi + 0x183c]
jne 0x100c8a56
cmp esi, dword [edi + 0x183c]
lea ecx, [ebp - 0x30]
mov eax, str.arms_glow_color2
mov edx, str.armschams_color2
cmovne edx, eax
call fcn.100c4990
mov eax, dword [esi]
lea ecx, [ebp - 0x29]
push 0
push ecx
push str._envmaptint
mov eax, dword [eax + 0x2c]
mov ecx, esi
call eax
cmp byte [ebp - 0x29], 0
mov edx, eax
je 0x100c8a56
test edx, edx
je 0x100c8a56
movzx ecx, byte [ebp - 0x2e]
sub esp, 0xc
mov eax, dword [ebp - 0x30]
movss xmm3, dword [0x102c1678]
movd xmm2, ecx
movzx ecx, ah
movzx eax, al
cvtdq2ps xmm2, xmm2
movd xmm1, ecx
mov ecx, edx
movd xmm0, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [edx]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x2c]
divss xmm2, xmm3
divss xmm1, xmm3
divss xmm0, xmm3
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call eax
cmp esi, dword [edi + 0x1828]
jne 0x100c8d05
mov edx, str.armsReflectivityColor2
lea ecx, [ebp - 0x30]
call fcn.100c4990
mov ecx, dword [edi + 0x1828]
lea edx, [ebp - 0x29]
push 0
push edx
push str._phongexponent
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
cmp byte [ebp - 0x29], 0
mov dword [ebp - 0x34], eax
je 0x100c8b24
test eax, eax
je 0x100c8b24
push 0x14
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
push str.arms_reflectivity_f2
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x40], 0
movups xmmword [ebp - 0x54], xmm0
call fcn.100bd420
lea eax, [ebp - 0x54]
mov dword [ebp - 4], 0xa
push eax
mov ecx, 0x10550948
call fcn.100b9b40
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax]
mov eax, dword [ecx]
movss dword [esp], xmm0
mov eax, dword [eax + 0x10]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x100c8b24
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c8b1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8fb6
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov ecx, dword [edi + 0x1828]
lea edx, [ebp - 0x29]
push 0
push edx
push str._phongboost
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
cmp byte [ebp - 0x29], 0
mov dword [ebp - 0x34], eax
je 0x100c8bd9
test eax, eax
je 0x100c8bd9
push 0xd
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
push str.arms_shine_f2
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x40], 0
movups xmmword [ebp - 0x54], xmm0
call fcn.100bd420
lea eax, [ebp - 0x54]
mov dword [ebp - 4], 0xb
push eax
mov ecx, 0x10550948
call fcn.100b9b40
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax]
mov eax, dword [ecx]
movss dword [esp], xmm0
mov eax, dword [eax + 0x10]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x100c8bd9
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c8bcf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8fbb
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov ecx, dword [edi + 0x1828]
lea edx, [ebp - 0x29]
push 0
push edx
push str._rimlightboost
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
cmp byte [ebp - 0x29], 0
mov dword [ebp - 0x34], eax
je 0x100c8c8e
test eax, eax
je 0x100c8c8e
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
push str.arms_rim_f2
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x40], 0
movups xmmword [ebp - 0x54], xmm0
call fcn.100bd420
lea eax, [ebp - 0x54]
mov dword [ebp - 4], 0xc
push eax
mov ecx, 0x10550948
call fcn.100b9b40
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax]
mov eax, dword [ecx]
movss dword [esp], xmm0
mov eax, dword [eax + 0x10]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x100c8c8e
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c8c84
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8fc0
push ecx
push edx
call fcn.101fb2ba
add esp, 8
mov ecx, dword [edi + 0x1828]
lea edx, [ebp - 0x29]
push 0
push edx
push str._envmaptint
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
cmp byte [ebp - 0x29], 0
mov edx, eax
je 0x100c8d05
test edx, edx
je 0x100c8d05
movzx ecx, byte [ebp - 0x2e]
sub esp, 0xc
mov eax, dword [ebp - 0x30]
movss xmm3, dword [0x102c1678]
movd xmm2, ecx
movzx ecx, ah
movzx eax, al
cvtdq2ps xmm2, xmm2
movd xmm1, ecx
mov ecx, edx
movd xmm0, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [edx]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x2c]
divss xmm2, xmm3
divss xmm1, xmm3
divss xmm0, xmm3
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call eax
push 0xd
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
push str.arms_mat2_xqz
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x40], 0
movups xmmword [ebp - 0x54], xmm0
call fcn.100bd420
lea eax, [ebp - 0x54]
mov dword [ebp - 4], 0xd
push eax
mov ecx, 0x10550908
call fcn.100b9b80
mov edx, str.armschams_color2
lea ecx, [ebp - 0x30]
mov al, byte [eax]
mov byte [ebp - 0x34], al
call fcn.100c4990
movss xmm1, dword [0x102c1678]
mov edx, dword [0x1054e008]
mov dword [ebp - 0x14], 0x3f800000
mov ecx, dword [eax]
movzx eax, cl
movd xmm0, eax
mov eax, ecx
cvtdq2ps xmm0, xmm0
shr eax, 8
movzx eax, al
shr ecx, 0x10
divss xmm0, xmm1
movss dword [ebp - 0x20], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, cl
lea ecx, [ebp - 0x20]
push ecx
mov ecx, edx
divss xmm0, xmm1
movss dword [ebp - 0x1c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
mov eax, dword [edx]
mov eax, dword [eax + 0x18]
call eax
mov eax, dword [esi]
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
push esi
mov eax, dword [eax + 0x74]
push 0x400
call eax
mov ecx, dword [ebp - 0x38]
push esi
push 0x4000
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [ebp - 0x38]
push esi
push 0x8000
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x1054e018]
push 0
push 0
push dword [ebp - 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x100c8e3a
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c8e30
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8fc5
push ecx
push edx
call fcn.101fb2ba
add esp, 8
push dword [ebp - 0x70]
mov eax, dword [0x1054fdac]
push dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x78]
push dword [ebp - 0x74]
mov eax, dword [eax + 0x54]
push dword [ebp + 0xc]
call eax
mov byte [edi + 0x184c], 0
jmp 0x100c8f67
push 0xb
push str.weaponchams
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x80], 0
movups xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x7c], 0
call fcn.100bd420
lea eax, [ebp - 0x90]
mov dword [ebp - 4], 0xe
push eax
mov ecx, 0x10550908
mov dword [ebp - 0x30], 2
call fcn.100b9b80
cmp byte [eax], 0
je 0x100c8ef4
test esi, esi
je 0x100c8ef4
mov eax, dword [ebp - 0x3c]
push str.weapon
mov eax, dword [eax + 0x1c]
add eax, 4
push eax
call fcn.101fcfe0
add esp, 8
test eax, eax
je 0x100c8ef4
mov ecx, dword [0x1054e044]
push 0xffffffffffffffff
mov eax, dword [ecx]
mov eax, dword [eax + 0x80]
call eax
test eax, eax
jne 0x100c8ef4
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 0x29], 1
cmp dword [eax + 0x14], 0x76
je 0x100c8ef8
mov byte [ebp - 0x29], 0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x10
jb 0x100c8f36
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c8f2c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c8fca
push ecx
push edx
call fcn.101fb2ba
add esp, 8
cmp byte [ebp - 0x29], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
je 0x100c8f67
push dword [ebp - 0x70]
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x74]
push dword [ebp + 0xc]
push dword [ebp - 0x78]
call fcn.100c72b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101fae3a
mov esp, ebp
pop ebp
ret 0x14
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
call fcn.10201dbe
int3