Function at 0x10084400
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008f10f
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
mov eax, dword [0x100a4040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword fs:[0x2c]
mov esi, dword [0x100be8d8]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x100c09d8]
cmp eax, dword [ecx + 4]
jle 0x10084484
push 0x100c09d8
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c09d8], 0xffffffff
jne 0x10084484
mov dword [ebp - 4], 0
call fcn.10002fa0
push 0x100c09d8
mov dword [0x100c09f4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1008a0ac
add esp, 4
mov ecx, dword [0x100be9f8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x10085059
mov ecx, dword [0x100be9f8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x100be9e8]
mov esi, eax
push esi
mov dword [ebp - 0x1dc], esi
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov dword [ebp - 0x1e8], eax
test eax, eax
je 0x10085059
mov ecx, dword [0x100c09f4]
mov edi, dword [ecx]
mov ecx, dword [0x100bff40]
cmp byte [ecx + 0x3544], 0
je 0x10084525
mov eax, dword [ecx + 0x3968]
mov dword [ebp - 0x1bc], eax
mov ax, word [0x100bf3d4]
test ax, ax
jne 0x10084508
mov ecx, 0x8dd5bdd2
call fcn.10002c20
mov word [0x100bf3d4], ax
mov ecx, dword [ebp - 0x1bc]
lea edx, [esi*4]
movzx eax, ax
add eax, edx
mov dword [eax + edi], ecx
mov ecx, dword [0x100bff40]
jmp 0x1008452c
lea edx, [esi*4]
cmp byte [ecx + 0x4214], 0
je 0x10084577
mov eax, dword [ecx + 0x4638]
mov dword [ebp - 0x1bc], eax
mov ax, word [0x100bf3c0]
test ax, ax
jne 0x1008455c
mov ecx, 0xeb615593
call fcn.10002c20
mov word [0x100bf3c0], ax
mov ecx, dword [ebp - 0x1bc]
lea edx, [esi*4]
movzx eax, ax
add eax, edx
mov dword [eax + edi], ecx
mov ecx, dword [0x100bff40]
mov eax, dword [0x100bfff4]
cmp byte [eax], 0
je 0x1008472c
mov ax, word [0x100bf414]
test ax, ax
jne 0x100845a7
mov ecx, 0xd37babe
call fcn.10002c20
mov word [0x100bf414], ax
lea edx, [esi*4]
movzx eax, ax
add eax, edx
mov ecx, dword [eax + edi]
xor eax, eax
cmp ecx, 7
jne 0x100845bb
lea eax, [ecx - 6]
jmp 0x100845c6
cmp ecx, 0xa
mov edx, 2
cmove eax, edx
imul ecx, eax, 0x10c
mov eax, dword [0x100c003c]
mov dword [ebp - 0x1bc], ecx
mov eax, dword [eax + ecx + 0x100]
mov dword [ebp - 0x1ec], eax
mov ax, word [0x100bf404]
test ax, ax
jne 0x10084605
mov ecx, 0x2f56b042
call fcn.10002c20
mov ecx, dword [ebp - 0x1bc]
mov word [0x100bf404], ax
mov edx, dword [ebp - 0x1ec]
movzx eax, ax
add eax, edi
mov dword [eax + esi*4], edx
mov eax, dword [0x100c003c]
mov eax, dword [ecx + eax + 0x104]
mov dword [ebp - 0x1bc], eax
mov ax, word [0x100bf3f4]
test ax, ax
jne 0x10084640
mov ecx, 0x8bd17c91
call fcn.10002c20
mov word [0x100bf3f4], ax
mov ecx, dword [ebp - 0x1bc]
movzx eax, ax
add eax, edi
mov dword [eax + esi*4], ecx
mov eax, dword [0x100c0060]
mov eax, dword [eax]
mov dword [ebp - 0x1bc], eax
mov ax, word [0x100bf3b0]
test ax, ax
jne 0x10084676
mov ecx, 0x1789c1ff
call fcn.10002c20
mov word [0x100bf3b0], ax
mov ecx, dword [ebp - 0x1bc]
movzx eax, ax
add eax, edi
mov dword [eax + esi*4], ecx
mov eax, dword [0x100c00a8]
mov eax, dword [eax]
mov dword [ebp - 0x1bc], eax
mov ax, word [0x100bf408]
test ax, ax
jne 0x100846ac
mov ecx, 0x22c2918e
call fcn.10002c20
mov word [0x100bf408], ax
mov ecx, dword [ebp - 0x1bc]
movzx eax, ax
add eax, edi
mov dword [eax + esi*4], ecx
mov eax, dword [0x100c00cc]
mov eax, dword [eax]
mov dword [ebp - 0x1bc], eax
mov ax, word [0x100bf3c4]
test ax, ax
jne 0x100846e2
mov ecx, 0xb17a2c41
call fcn.10002c20
mov word [0x100bf3c4], ax
mov ecx, dword [ebp - 0x1bc]
movzx eax, ax
add eax, edi
mov dword [eax + esi*4], ecx
mov eax, dword [0x100c00f0]
mov eax, dword [eax]
mov dword [ebp - 0x1bc], eax
mov ax, word [0x100bf3dc]
test ax, ax
jne 0x10084718
mov ecx, 0x29813064
call fcn.10002c20
mov word [0x100bf3dc], ax
mov ecx, dword [ebp - 0x1bc]
movzx eax, ax
add eax, edi
mov dword [eax + esi*4], ecx
mov ecx, dword [0x100bff40]
mov eax, dword [0x100c0114]
cmp byte [eax], 0
je 0x10084c07
mov eax, dword [0x100c0138]
mov eax, dword [eax]
mov dword [ebp - 0x1bc], eax
mov ax, word [0x100bf40c]
test ax, ax
jne 0x10084762
mov ecx, 0xdefe1b1d
call fcn.10002c20
mov word [0x100bf40c], ax
mov edx, dword [ebp - 0x1bc]
lea ecx, [esi*4]
movzx eax, ax
add eax, ecx
mov dword [eax + edi], edx
mov eax, dword [0x100c015c]
mov eax, dword [eax]
mov dword [ebp - 0x1bc], eax
mov ax, word [0x100bf3b4]
test ax, ax
jne 0x100847a6
mov ecx, 0xed460a37
call fcn.10002c20
mov word [0x100bf3b4], ax
lea ecx, [esi*4]
movzx eax, ax
add eax, ecx
mov ecx, dword [ebp - 0x1bc]
mov dword [eax + edi], ecx
mov eax, dword [0x100c0180]
mov ecx, dword [0x100be8d8]
mov eax, dword [eax]
mov dword [ebp - 0x1ec], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c0a00]
cmp eax, dword [ecx + 4]
jle 0x10084910
push 0x100c0a00
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c0a00], 0xffffffff
jne 0x10084910
mov dword [ebp - 4], 1
mov edx, dword fs:[0x2c]
mov esi, dword [0x100be8d8]
mov eax, dword [0x100be904]
mov ecx, dword [edx + esi*4]
cmp eax, dword [ecx + 4]
jle 0x1008486a
push 0x100be904
call fcn.1008a0fd
add esp, 4
cmp dword [0x100be904], 0xffffffff
jne 0x1008486a
push 0x1008f440
mov dword [0x100be8f8], 0
mov dword [0x100be8fc], 0
mov dword [0x100be900], 0
call fcn.1008a5ab
push 0x100be904
call fcn.1008a0ac
add esp, 8
mov eax, dword [0x100be8fc]
mov esi, dword [0x100be8f8]
mov dword [ebp - 0x1bc], eax
cmp esi, eax
je 0x100848aa
nop
mov eax, dword [esi]
test eax, eax
je 0x1008489f
push str.DT_CSPlayerResource
push dword [eax + 0xc]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x10084c62
add esi, 4
cmp esi, dword [ebp - 0x1bc]
jne 0x10084880
movaps xmm0, xmmword [0x1009a500]
xor ecx, ecx
movups xmmword [ebp - 0x1d0], xmm0
nop word [eax + eax]
mov al, byte [ebp - 0x1d0]
xor byte [ebp + ecx - 0x1cf], al
inc ecx
cmp ecx, 0xe
jb 0x100848c0
lea eax, [ebp - 0x1cf]
mov byte [ebp - 0x1c1], 0
push str.m_iKills
push eax
call fcn.10002690
add esp, 8
xor esi, esi
push 0x100c0a00
mov dword [0x100c09b8], esi
mov dword [ebp - 4], 0xffffffff
call fcn.1008a0ac
mov esi, dword [ebp - 0x1dc]
add esp, 4
mov eax, dword [0x100c09b8]
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + esi*4]
mov dword [eax + edi], ecx
mov eax, dword [0x100c01a4]
mov ecx, dword [0x100be8d8]
mov eax, dword [eax]
mov dword [ebp - 0x1ec], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c0a10]
cmp eax, dword [ecx + 4]
jle 0x10084a80
push 0x100c0a10
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c0a10], 0xffffffff
jne 0x10084a80
mov dword [ebp - 4], 2
mov edx, dword fs:[0x2c]
mov esi, dword [0x100be8d8]
mov eax, dword [0x100be904]
mov ecx, dword [edx + esi*4]
cmp eax, dword [ecx + 4]
jle 0x100849d7
push 0x100be904
call fcn.1008a0fd
add esp, 4
cmp dword [0x100be904], 0xffffffff
jne 0x100849d7
push 0x1008f440
mov dword [0x100be8f8], 0
mov dword [0x100be8fc], 0
mov dword [0x100be900], 0
call fcn.1008a5ab
push 0x100be904
call fcn.1008a0ac
add esp, 8
mov eax, dword [0x100be8fc]
mov esi, dword [0x100be8f8]
mov dword [ebp - 0x1bc], eax
cmp esi, eax
je 0x10084a1a
nop dword [eax]
mov eax, dword [esi]
test eax, eax
je 0x10084a0f
push str.DT_CSPlayerResource
push dword [eax + 0xc]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x10084ce6
add esi, 4
cmp esi, dword [ebp - 0x1bc]
jne 0x100849f0
movaps xmm0, xmmword [0x1009a500]
xor ecx, ecx
movups xmmword [ebp - 0x1d0], xmm0
nop word [eax + eax]
mov al, byte [ebp - 0x1d0]
xor byte [ebp + ecx - 0x1cf], al
inc ecx
cmp ecx, 0xe
jb 0x10084a30
lea eax, [ebp - 0x1cf]
mov byte [ebp - 0x1c1], 0
push str.m_iAssists
push eax
call fcn.10002690
add esp, 8
xor esi, esi
push 0x100c0a10
mov dword [0x100c09e8], esi
mov dword [ebp - 4], 0xffffffff
call fcn.1008a0ac
mov esi, dword [ebp - 0x1dc]
add esp, 4
mov eax, dword [0x100c09e8]
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + esi*4]
mov dword [eax + edi], ecx
mov eax, dword [0x100c01c8]
mov ecx, dword [0x100be8d8]
mov eax, dword [eax]
mov dword [ebp - 0x1ec], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c09c0]
cmp eax, dword [ecx + 4]
jle 0x10084bf0
push 0x100c09c0
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c09c0], 0xffffffff
jne 0x10084bf0
mov dword [ebp - 4], 3
mov edx, dword fs:[0x2c]
mov esi, dword [0x100be8d8]
mov eax, dword [0x100be904]
mov ecx, dword [edx + esi*4]
cmp eax, dword [ecx + 4]
jle 0x10084b47
push 0x100be904
call fcn.1008a0fd
add esp, 4
cmp dword [0x100be904], 0xffffffff
jne 0x10084b47
push 0x1008f440
mov dword [0x100be8f8], 0
mov dword [0x100be8fc], 0
mov dword [0x100be900], 0
call fcn.1008a5ab
push 0x100be904
call fcn.1008a0ac
add esp, 8
mov eax, dword [0x100be8fc]
mov esi, dword [0x100be8f8]
mov dword [ebp - 0x1bc], eax
cmp esi, eax
je 0x10084b8a
nop dword [eax]
mov eax, dword [esi]
test eax, eax
je 0x10084b7f
push str.DT_CSPlayerResource
push dword [eax + 0xc]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x10084d6a
add esi, 4
cmp esi, dword [ebp - 0x1bc]
jne 0x10084b60
movaps xmm0, xmmword [0x1009a500]
xor ecx, ecx
movups xmmword [ebp - 0x1d0], xmm0
nop word [eax + eax]
mov al, byte [ebp - 0x1d0]
xor byte [ebp + ecx - 0x1cf], al
inc ecx
cmp ecx, 0xe
jb 0x10084ba0
lea eax, [ebp - 0x1cf]
mov byte [ebp - 0x1c1], 0
push str.m_iDeaths
push eax
call fcn.10002690
add esp, 8
xor esi, esi
push 0x100c09c0
mov dword [0x100c09c8], esi
mov dword [ebp - 4], 0xffffffff
call fcn.1008a0ac
mov esi, dword [ebp - 0x1dc]
add esp, 4
mov eax, dword [0x100c09c8]
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + esi*4]
mov dword [eax + edi], ecx
mov ecx, dword [0x100bff40]
mov ax, word [0x100be948]
test ax, ax
jne 0x10084c28
mov ecx, 0x6e693e43
call fcn.10002c20
mov ecx, dword [0x100bff40]
mov word [0x100be948], ax
mov edi, dword [ebp - 0x1e8]
movzx eax, ax
mov eax, dword [eax + edi]
cmp eax, 2
jne 0x10084df6
cmp byte [ecx + 0x204], 0
je 0x10084f66
cmp byte [ecx + 0x62c], 0
je 0x10084f66
lea edi, [ecx + 0x428]
jmp 0x10084e1f
mov eax, dword [esi]
test eax, eax
je 0x100848aa
push ecx
push str.m_iKills
push eax
mov ecx, 0x100be8f8
call fcn.10078f80
mov esi, eax
test esi, esi
je 0x100848aa
mov cl, 0x76
mov dword [ebp - 0x1cc], 0x4c055376
mov dword [ebp - 0x1c8], 0x530e4656
xor eax, eax
mov dword [ebp - 0x1c4], 0x7c2e4446
mov byte [ebp - 0x1c0], 0
xor byte [ebp + eax - 0x1cb], cl
inc eax
cmp eax, 0xb
jae 0x10084cc5
mov cl, byte [ebp - 0x1cc]
jmp 0x10084cb0
push esi
lea eax, [ebp - 0x1cb]
mov byte [ebp - 0x1c0], 0
push str.m_iKills
push eax
call fcn.10002690
add esp, 0xc
jmp 0x100848f0
mov eax, dword [esi]
test eax, eax
je 0x10084a1a
push ecx
push str.m_iAssists
push eax
mov ecx, 0x100be8f8
call fcn.10078f80
mov esi, eax
test esi, esi
je 0x10084a1a
mov cl, 0x76
mov dword [ebp - 0x1cc], 0x4c055376
mov dword [ebp - 0x1c8], 0x530e4656
xor eax, eax
mov dword [ebp - 0x1c4], 0x7c2e4446
mov byte [ebp - 0x1c0], 0
xor byte [ebp + eax - 0x1cb], cl
inc eax
cmp eax, 0xb
jae 0x10084d49
mov cl, byte [ebp - 0x1cc]
jmp 0x10084d34
push esi
lea eax, [ebp - 0x1cb]
mov byte [ebp - 0x1c0], 0
push str.m_iAssists
push eax
call fcn.10002690
add esp, 0xc
jmp 0x10084a60
mov eax, dword [esi]
test eax, eax
je 0x10084b8a
push ecx
push str.m_iDeaths
push eax
mov ecx, 0x100be8f8
call fcn.10078f80
mov esi, eax
test esi, esi
je 0x10084b8a
mov cl, 0x76
mov dword [ebp - 0x1cc], 0x4c055376
mov dword [ebp - 0x1c8], 0x530e4656
xor eax, eax
mov dword [ebp - 0x1c4], 0x7c2e4446
mov byte [ebp - 0x1c0], 0
nop dword [eax + eax]
xor byte [ebp + eax - 0x1cb], cl
inc eax
cmp eax, 0xb
jae 0x10084dd5
mov cl, byte [ebp - 0x1cc]
jmp 0x10084dc0
push esi
lea eax, [ebp - 0x1cb]
mov byte [ebp - 0x1c0], 0
push str.m_iDeaths
push eax
call fcn.10002690
add esp, 0xc
jmp 0x10084bd0
cmp eax, 3
jne 0x10084f66
cmp byte [ecx + 0xed4], 0
je 0x10084f66
cmp byte [ecx + 0x12fc], 0
je 0x10084f66
lea edi, [ecx + 0x10f8]
test edi, edi
je 0x10084f60
mov ecx, dword [0x100bea0c]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 0x1bc], eax
mov ax, word [0x100bf208]
test ax, ax
jne 0x10084e56
mov ecx, 0xe6d17304
call fcn.10002c20
mov word [0x100bf208], ax
mov edx, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1bc]
movzx eax, ax
push str.modelprecache
mov dword [eax + edx], ecx
mov ecx, dword [0x100bea98]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x1e4], eax
test eax, eax
je 0x10084ed1
mov ecx, dword [eax]
push 0
push 0xffffffffffffffff
push edi
mov edx, dword [ecx + 0x20]
mov ecx, eax
push 0
call edx
mov eax, dword [0x100bea9c]
mov ecx, edi
call eax
mov esi, eax
mov eax, dword [ebp - 0x1e4]
push 0
push 0xffffffffffffffff
mov ecx, dword [eax]
push dword [esi + 8]
push 0
mov edx, dword [ecx + 0x20]
mov ecx, eax
call edx
mov ecx, dword [ebp - 0x1e4]
push 0
push 0xffffffffffffffff
push dword [esi + 0xc]
mov eax, dword [ecx]
push 0
call dword [eax + 0x20]
mov esi, dword [ebp - 0x1dc]
mov eax, dword [0x100be9e8]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x1bc], eax
mov ax, word [0x100bf41c]
test ax, ax
jne 0x10084efc
mov ecx, 0xd4530b97
call fcn.10002c20
mov word [0x100bf41c], ax
mov ecx, dword [ebp - 0x1e8]
movzx eax, ax
mov ecx, dword [eax + ecx]
push ecx
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x100be9e8]
call dword [ebp - 0x1bc]
mov dword [ebp - 0x1bc], eax
test eax, eax
je 0x10084f5a
mov ecx, dword [0x100bea0c]
push edi
mov edx, dword [ecx]
mov edx, dword [edx + 8]
call edx
mov edi, eax
mov ax, word [0x100bf208]
test ax, ax
jne 0x10084f4e
mov ecx, 0xe6d17304
call fcn.10002c20
mov word [0x100bf208], ax
mov ecx, dword [ebp - 0x1bc]
movzx eax, ax
mov dword [eax + ecx], edi
mov ecx, dword [0x100bff40]
mov edi, dword [ebp - 0x1e8]
mov ax, word [0x100bf268]
test ax, ax
jne 0x10084f87
mov ecx, 0x19222c70
call fcn.10002c20
mov ecx, dword [0x100bff40]
mov word [0x100bf268], ax
movzx eax, ax
cmp dword [eax + edi], 0
je 0x10085076
cmp byte [ecx + 0x1ba4], 0
je 0x10085059
cmp byte [ecx + 0x1fcc], 0
je 0x10085059
mov eax, dword [0x100be9e8]
mov eax, dword [eax]
mov esi, dword [eax + 0x10]
mov ax, word [0x100bf410]
test ax, ax
jne 0x10084fd3
mov ecx, 0x55621c49
call fcn.10002c20
mov word [0x100bf410], ax
push ecx
movzx eax, ax
mov ecx, esp
mov eax, dword [eax + edi]
mov dword [ecx], eax
mov ecx, dword [0x100be9e8]
call esi
mov esi, eax
test esi, esi
je 0x10085059
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
movaps xmm0, xmmword [0x1009ac70]
xor ecx, ecx
movups xmmword [ebp - 0x1d4], xmm0
mov word [ebp - 0x1c4], 0x2f
nop word [eax + eax]
mov al, byte [ebp - 0x1d4]
xor byte [ebp + ecx - 0x1d3], al
inc ecx
cmp ecx, 0x10
jb 0x10085030
lea eax, [ebp - 0x1d3]
mov byte [ebp - 0x1c3], 0
push eax
call fcn.10002690
add esp, 4
xor al, al
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.1008a073
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x100be9f8]
lea edx, [ebp - 0x1b8]
push edx
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x10085059
mov ax, word [0x100bf214]
test ax, ax
jne 0x100850aa
mov ecx, 0xa15ff0a1
call fcn.10002c20
mov word [0x100bf214], ax
mov ecx, dword [0x100be9e8]
movzx eax, ax
mov ecx, dword [ecx]
mov eax, dword [eax + edi]
push ecx
mov edx, dword [ecx + 0x10]
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [0x100be9e8]
call edx
mov ecx, dword [0x100be9e8]
mov edi, eax
mov ax, word [0x100bf3ec]
mov dword [ebp - 0x1dc], edi
mov ecx, dword [ecx]
mov esi, dword [ecx + 0x10]
test ax, ax
jne 0x100850f6
mov ecx, 0xc011001c
call fcn.10002c20
mov word [0x100bf3ec], ax
push ecx
movzx eax, ax
mov ecx, esp
mov eax, dword [eax + edi]
mov dword [ecx], eax
mov ecx, dword [0x100be9e8]
call esi
cmp word [0x100bf400], 0
mov esi, eax
mov dword [ebp - 0x1ec], esi
jne 0x1008512b
mov ecx, 0xfbedb167
call fcn.10002c20
mov word [0x100bf400], ax
movzx eax, word [0x100bf400]
movsx edx, word [eax + esi]
mov eax, 0x3b
mov esi, dword [0x100bfe20]
cmp edx, 0x2a
cmove edx, eax
mov eax, 2
mov edi, dword [esi + 0x54400]
cmp edi, eax
jle 0x100851f3
lea ecx, [esi + 0x2f4c]
cmp dword [ecx], edx
je 0x10085174
inc eax
add ecx, 0x1510
cmp eax, edi
jl 0x10085160
jmp 0x100851f3
cmp eax, 0xffffffff
je 0x100851f3
imul eax, eax, 0x1510
cmp byte [eax + esi + 0x530], 0
je 0x100851f3
mov ecx, dword [0x100bea0c]
lea edi, [esi + 0x321]
add edi, eax
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov esi, eax
mov eax, dword [ebp - 0x1ec]
push esi
mov ecx, dword [eax]
mov edx, dword [ecx + 0x12c]
mov ecx, eax
call edx
mov eax, dword [ebp - 0x1dc]
push esi
mov ecx, dword [eax]
mov edx, dword [ecx + 0x12c]
mov ecx, eax
call edx
mov ecx, dword [0x100bea98]
push str.modelprecache
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x100851ed
mov ecx, dword [eax]
push 0
push 0xffffffffffffffff
push edi
mov edx, dword [ecx + 0x20]
mov ecx, eax
push 0
call edx
mov esi, dword [0x100bfe20]
mov edi, dword [0x100bf470]
mov dword [ebp - 0x1bc], edi
test edi, edi
je 0x10085421
mov ax, word [0x100bf208]
test ax, ax
jne 0x10085228
mov ecx, 0xe6d17304
call fcn.10002c20
mov esi, dword [0x100bfe20]
mov word [0x100bf208], ax
mov ecx, dword [ebp - 0x1dc]
movzx eax, ax
imul edi, edi, 0x1510
mov eax, dword [eax + ecx]
mov ecx, dword [0x100bea0c]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ecx]
mov edx, dword [eax + 8]
lea eax, [edi + 0x21]
add eax, esi
push eax
call edx
mov esi, dword [ebp - 0x1dc]
push eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x12c]
mov ecx, esi
call edx
xor esi, esi
nop dword [eax + eax]
mov ecx, dword [ebp - 0x1dc]
push esi
call fcn.10083bb0
mov edx, dword [0x100bfe20]
add edx, 0x540
add edx, edi
nop word [eax + eax]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx], cl
lea edx, [edx + 1]
test cl, cl
jne 0x10085290
inc esi
add edi, 0x7c
cmp esi, 0x14
jl 0x10085270
mov ecx, dword [0x100bea0c]
imul edx, dword [ebp - 0x1bc], 0x1510
mov eax, dword [ecx]
add edx, 0x321
mov esi, dword [eax + 8]
mov eax, dword [0x100bfe20]
add eax, edx
push eax
call esi
mov esi, dword [ebp - 0x1dc]
push eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x12c]
mov ecx, esi
call edx
xor esi, esi
imul edi, dword [ebp - 0x1bc], 0x1510
nop dword [eax + eax]
mov ecx, dword [ebp - 0x1dc]
push esi
call fcn.10083bb0
mov edx, dword [0x100bfe20]
add edx, 0x564
add edx, edi
nop word [eax + eax]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx], cl
lea edx, [edx + 1]
test cl, cl
jne 0x10085310
xorps xmm0, xmm0
mov byte [ebp - 0x34], cl
mov byte [ebp - 0x15], cl
mov edx, esi
lea ecx, [ebp - 0x1d8]
movq qword [ebp - 0x23], xmm0
movups xmmword [ebp - 0x33], xmm0
mov dword [ebp - 0x1b], 0
mov word [ebp - 0x17], 0
call fcn.1000bad0
cmp dword [ebp - 0x1c4], 0xf
lea eax, [ebp - 0x1d8]
cmova eax, dword [ebp - 0x1d8]
push eax
lea eax, [ebp - 0x34]
push 0x20
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov ecx, dword [ebp - 0x1c4]
add esp, 0xc
cmp ecx, 0xf
jbe 0x100853a8
mov edx, dword [ebp - 0x1d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1008539e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100854b8
push ecx
push edx
call fcn.1008a5c0
add esp, 8
push 0x1009774c
lea eax, [ebp - 0x34]
push 0x20
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov eax, dword [0x100bfe20]
add eax, 0x564
add eax, edi
push eax
lea eax, [ebp - 0x34]
push 0x20
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov edx, dword [0x100bfe20]
lea ecx, [ebp - 0x34]
add edx, 0x584
add esp, 0x18
add edx, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x100853e6
inc esi
add edi, 0x7c
cmp esi, 0x14
jl 0x100852f0
mov ecx, dword [ebp - 0x1dc]
push dword [ebp - 0x1e4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x12c]
call eax
mov dword [0x100bf470], 0
mov eax, dword [0x100bff40]
cmp byte [eax + 0x1ba4], 0
je 0x10085afb
cmp byte [eax + 0x1fcc], 0
je 0x10085afb
mov ax, word [0x100bf410]
test ax, ax
jne 0x1008545b
mov ecx, 0x55621c49
call fcn.10002c20
mov word [0x100bf410], ax
movzx edi, ax
mov eax, dword [0x100be9e8]
add edi, dword [ebp - 0x1e8]
push ecx
mov ecx, esp
mov dword [ebp - 0x44], edi
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [edi]
mov dword [ecx], eax
mov ecx, dword [0x100be9e8]
call edx
mov esi, eax
test esi, esi
jne 0x10085812
mov eax, dword [0x100be9e8]
push ecx
mov ecx, esp
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [0x100c09fc]
mov dword [ecx], eax
mov ecx, dword [0x100be9e8]
call edx
mov esi, eax
test esi, esi
je 0x100854be
mov eax, dword [0x100c09fc]
mov dword [edi], eax
jmp 0x10085812
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp dword [0x100bf3b8], 0
mov edi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsstr]
jne 0x10085503
mov ecx, dword [0x100bea08]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov esi, eax
test esi, esi
je 0x100854fc
push str.CEconWearable
push dword [esi + 8]
call edi
add esp, 8
test eax, eax
jne 0x10085bad
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x100854e0
xor eax, eax
mov dword [0x100bf3b8], eax
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000fff
jns 0x10085517
dec eax
or eax, 0xfffff000
inc eax
mov ecx, dword [0x100be9e8]
mov dword [ebp - 0x1bc], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
mov ecx, dword [0x100be9e8]
inc eax
mov dword [ebp - 0x1e4], eax
mov esi, 0x41
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
cmp eax, esi
jle 0x1008558a
mov ecx, dword [0x100be9e8]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x10085578
lea ecx, [eax + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
push str.CRopeKeyframe
push dword [eax + 8]
call edi
add esp, 8
test eax, eax
jne 0x10085c00
mov ecx, dword [0x100be9e8]
inc esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp esi, eax
jl 0x10085547
mov esi, dword [ebp - 0x1e4]
mov edi, dword [ebp - 0x1bc]
push edi
push esi
call dword [0x100bf3b8]
mov ecx, dword [0x100be9e8]
add esp, 8
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
mov ax, word [0x100bf3cc]
test ax, ax
jne 0x100855cc
mov ecx, 0x2ea6abd6
call fcn.10002c20
mov word [0x100bf3cc], ax
mov ecx, dword [0x100be8d8]
movzx eax, ax
shl edi, 0x10
or edi, dword [ebp - 0x1e4]
mov byte [eax + esi], 1
mov eax, dword [ebp - 0x44]
mov dword [eax], edi
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c0a18]
cmp eax, dword [ecx + 4]
jle 0x100857aa
push 0x100c0a18
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c0a18], 0xffffffff
jne 0x100857aa
mov dword [ebp - 4], 4
xor ecx, ecx
movaps xmm0, xmmword [0x1009a520]
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x1c], 0x601a0215
movaps xmm0, xmmword [0x1009a6e0]
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x18], 0x1b6402
mov al, byte [ebp - 0x3c]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0x26
jb 0x10085648
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x1f0], esp
xorps xmm0, xmm0
lea ecx, [ebp - 0x3b]
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10085680
sub ecx, edi
lea eax, [ebp - 0x3b]
push ecx
push eax
mov ecx, edx
call fcn.1000bcd0
mov byte [ebp - 4], 5
xor cl, cl
mov byte [ebp - 0x1df], cl
mov al, 0xf
mov byte [ebp - 0x1e0], cl
mov dl, 5
mov byte [ebp - 0x1c1], cl
mov ch, 2
mov byte [ebp - 0x1cc], 0x6c
mov dh, 0x18
xor al, byte [ebp - 0x1cc]
mov ah, 9
xor cl, byte [ebp - 0x1cc]
xorps xmm0, xmm0
mov byte [ebp - 0x1cb], al
mov byte [ebp - 0x1ca], cl
mov cl, byte [ebp - 0x1cc]
mov byte [ebp - 0x1dd], 0x42
xor dl, cl
mov al, byte [ebp - 0x1dd]
xor dh, cl
xor al, cl
mov byte [ebp - 0x1de], 8
mov byte [ebp - 0x1c5], al
xor ah, cl
mov al, byte [ebp - 0x1de]
xor ch, cl
xor al, cl
mov byte [ebp - 0x1c9], dl
mov byte [ebp - 0x1c4], al
mov al, byte [ebp - 0x1df]
xor al, cl
mov byte [ebp - 0x1c6], dh
mov byte [ebp - 0x1c3], al
mov al, byte [ebp - 0x1e0]
xor al, cl
mov byte [ebp - 0x1c7], ch
sub esp, 0x18
mov byte [ebp - 0x1c8], ah
mov edx, esp
mov byte [ebp - 0x1c2], al
lea ecx, [ebp - 0x1cb]
mov byte [ebp - 0x1c1], 0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10085770
sub ecx, edi
lea eax, [ebp - 0x1cb]
push ecx
push eax
mov ecx, edx
call fcn.1000bcd0
mov byte [ebp - 4], 4
call fcn.1007a170
push 0x100c0a18
mov dword [0x100c0a1c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1008a0ac
add esp, 0x34
mov edi, dword [ebp - 0x1e8]
mov ecx, esi
push edi
call dword [0x100c0a1c]
mov ax, word [0x100bf3bc]
test ax, ax
jne 0x100857d4
mov ecx, 0xd1eece1c
call fcn.10002c20
mov word [0x100bf3bc], ax
movzx eax, ax
mov dword [eax + edi], 1
mov ecx, dword [0x100bea0c]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
mov eax, dword [0x100bff40]
add eax, 0x1ec8
push eax
call edx
mov ecx, dword [esi]
push eax
mov edx, dword [ecx + 0x12c]
mov ecx, esi
call edx
mov eax, dword [0x100bea8c]
mov dword [eax + 0x174], 0xffffffff
mov eax, dword [0x100bff40]
movzx edi, word [eax + 0x1fc8]
mov ax, word [0x100bf400]
test ax, ax
jne 0x10085839
mov ecx, 0xfbedb167
call fcn.10002c20
mov word [0x100bf400], ax
movzx eax, ax
mov word [eax + esi], di
mov ax, word [0x100bf3c8]
test ax, ax
jne 0x1008585b
mov ecx, 0xbe941e7d
call fcn.10002c20
mov word [0x100bf3c8], ax
movzx eax, ax
mov dword [eax + esi], 0xffffffff
mov ax, word [0x100bf3e0]
test ax, ax
jne 0x10085880
mov ecx, 0x6f05a0eb
call fcn.10002c20
mov word [0x100bf3e0], ax
movzx ecx, ax
mov eax, dword [ebp - 0x1b0]
mov dword [ecx + esi], eax
mov eax, dword [0x100bff40]
mov edi, dword [eax + 0x1ba8]
mov ax, word [0x100bf3fc]
test ax, ax
jne 0x100858b2
mov ecx, 0xc80c4482
call fcn.10002c20
mov word [0x100bf3fc], ax
movzx eax, ax
mov dword [eax + esi], edi
mov eax, dword [0x100bff40]
mov edi, dword [eax + 0x1bb0]
mov ax, word [0x100bf3d0]
test ax, ax
jne 0x100858de
mov ecx, 0x1c403025
call fcn.10002c20
mov word [0x100bf3d0], ax
movzx eax, ax
mov dword [eax + esi], edi
mov eax, dword [0x100bff40]
movss xmm0, dword [eax + 0x1bbc]
mov ax, word [0x100bf3f0]
movss dword [ebp - 0x44], xmm0
test ax, ax
jne 0x10085916
mov ecx, 0xa3ce5497
call fcn.10002c20
movss xmm0, dword [ebp - 0x44]
mov word [0x100bf3f0], ax
mov ecx, dword [0x100be8d8]
movzx eax, ax
movss dword [eax + esi], xmm0
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100c09d4]
cmp eax, dword [ecx + 4]
jle 0x10085aee
push 0x100c09d4
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c09d4], 0xffffffff
jne 0x10085aee
mov dword [ebp - 4], 6
xor ecx, ecx
movaps xmm0, xmmword [0x1009a660]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x20], 0x72081006
movaps xmm0, xmmword [0x1009a560]
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], 0x10017610
mov dword [ebp - 0x18], 0x8107208
mov word [ebp - 0x14], 6
mov al, byte [ebp - 0x40]
xor byte [ebp + ecx - 0x3f], al
inc ecx
cmp ecx, 0x2c
jb 0x10085992
sub esp, 0x18
mov byte [ebp - 0x13], 0
mov edx, esp
mov dword [ebp - 0x1f0], esp
xorps xmm0, xmm0
lea ecx, [ebp - 0x3f]
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100859c8
sub ecx, edi
lea eax, [ebp - 0x3f]
push ecx
push eax
mov ecx, edx
call fcn.1000bcd0
mov byte [ebp - 4], 7
mov cl, 0x79
mov byte [ebp - 0x1de], cl
mov al, 0x76
mov byte [ebp - 0x1dd], cl
mov dl, 0x7c
mov byte [ebp - 0x1cc], 0x15
mov ch, 0x7b
xor al, byte [ebp - 0x1cc]
mov dh, 0x61
xor cl, byte [ebp - 0x1cc]
mov ah, 0x70
mov byte [ebp - 0x1cb], al
xorps xmm0, xmm0
mov byte [ebp - 0x1ca], cl
mov cl, byte [ebp - 0x1cc]
mov byte [ebp - 0x1e0], 0x3b
xor dl, cl
mov al, byte [ebp - 0x1e0]
xor dh, cl
xor al, cl
mov byte [ebp - 0x1df], 0x71
mov byte [ebp - 0x1c5], al
xor ah, cl
mov al, byte [ebp - 0x1df]
xor ch, cl
xor al, cl
mov byte [ebp - 0x1c9], dl
mov byte [ebp - 0x1c4], al
mov al, byte [ebp - 0x1de]
xor al, cl
mov byte [ebp - 0x1c6], dh
mov byte [ebp - 0x1c3], al
mov al, byte [ebp - 0x1dd]
xor al, cl
mov byte [ebp - 0x1c7], ch
sub esp, 0x18
mov byte [ebp - 0x1c1], 0
mov edx, esp
mov byte [ebp - 0x1c8], ah
lea ecx, [ebp - 0x1cb]
mov byte [ebp - 0x1c2], al
mov byte [ebp - 0x1c1], 0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10085ab4
sub ecx, edi
lea eax, [ebp - 0x1cb]
push ecx
push eax
mov ecx, edx
call fcn.1000bcd0
mov byte [ebp - 4], 6
call fcn.1007a170
push 0x100c09d4
mov dword [0x100c09e0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1008a0ac
add esp, 0x34
mov ecx, esi
call dword [0x100c09e0]
mov eax, dword [0x100bff40]
cmp byte [eax + 0x2874], 0
je 0x10085ca6
cmp byte [eax + 0x2c9c], 0
je 0x10085ca6
mov esi, dword [ebp - 0x1ec]
test esi, esi
je 0x10085ca6
cmp word [0x100bf400], 0
jne 0x10085b3d
mov ecx, 0xfbedb167
call fcn.10002c20
mov word [0x100bf400], ax
movzx eax, word [0x100bf400]
xor edi, edi
mov ecx, dword [0x100beb30]
sub ecx, dword [0x100beb2c]
movsx eax, word [eax + esi]
mov dword [ebp - 0x44], eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10085ca6
xor esi, esi
mov edx, dword [0x100beb2c]
mov ecx, dword [ebp - 0x44]
imul eax, esi, 0x68
cmp dword [eax + edx], ecx
je 0x10085c65
mov ecx, dword [0x100beb30]
mov eax, 0x4ec4ec4f
sub ecx, edx
inc edi
imul ecx
movsx esi, di
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x10085b72
jmp 0x10085ca6
movaps xmm0, xmmword [0x1009acc0]
xor ecx, ecx
movups xmmword [ebp - 0x1d8], xmm0
mov dword [ebp - 0x1c8], 0x464c574d
mov word [ebp - 0x1c4], 0x28
mov al, byte [ebp - 0x1d8]
xor byte [ebp + ecx - 0x1d7], al
inc ecx
cmp ecx, 0x14
jb 0x10085bd0
lea eax, [ebp - 0x1d7]
mov byte [ebp - 0x1c3], 0
push eax
call fcn.10002690
mov eax, dword [esi]
add esp, 4
jmp 0x100854fe
movaps xmm0, xmmword [str.d6_v]
xor ecx, ecx
movups xmmword [ebp - 0x1d8], xmm0
mov dword [ebp - 0x1c8], 0xa110b
mov dword [ebp - 0x1c4], 0x6e004144
mov byte [ebp - 0x1c0], 0
nop dword [eax + eax]
mov al, byte [ebp - 0x1d8]
xor byte [ebp + ecx - 0x1d7], al
inc ecx
cmp ecx, 0x17
jb 0x10085c30
lea eax, [ebp - 0x1d7]
mov byte [ebp - 0x1c0], 0
push esi
push eax
call fcn.10002690
add esp, 8
mov dword [ebp - 0x1e4], esi
jmp 0x10085590
mov ecx, dword [0x100bea0c]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
mov eax, dword [0x100bff40]
add eax, 0x2a98
push eax
call edx
mov esi, eax
mov ax, word [0x100bf208]
test ax, ax
jne 0x10085c9a
mov ecx, 0xe6d17304
call fcn.10002c20
mov word [0x100bf208], ax
mov ecx, dword [ebp - 0x1dc]
movzx eax, ax
mov dword [eax + ecx], esi
mov ax, word [0x100bf3f8]
test ax, ax
jne 0x10085cc1
mov ecx, 0x3ff78262
call fcn.10002c20
mov word [0x100bf3f8], ax
mov esi, dword [0x100be8d8]
movzx eax, ax
add eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x1bc], eax
lea ecx, [eax + 0xc0]
mov dword [ebp - 0x1f0], ecx
cmp eax, ecx
je 0x10085e13
nop word [eax + eax]
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x10085e13
mov ecx, dword [0x100be9e8]
mov ecx, dword [ecx]
push ecx
mov edx, dword [ecx + 0x10]
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [0x100be9e8]
call edx
mov esi, eax
mov dword [ebp - 0x1dc], esi
test esi, esi
je 0x10085df2
mov ax, word [0x100bf400]
test ax, ax
jne 0x10085d3e
mov ecx, 0xfbedb167
call fcn.10002c20
mov word [0x100bf400], ax
mov edi, dword [0x100bff40]
movzx ecx, ax
movzx eax, word [ecx + esi]
mov dword [ebp - 0x1e4], eax
cmp ax, 0x31
jne 0x10085f0c
mov edx, dword [edi + 0x33400]
xor eax, eax
test edx, edx
jle 0x10085d80
lea ecx, [edi + 0x100]
nop dword [eax]
cmp dword [ecx], 0x31
je 0x10085d83
inc eax
add ecx, 0xcd0
cmp eax, edx
jl 0x10085d70
or eax, 0xffffffff
imul eax, eax, 0xcd0
cmp byte [edi + eax + 0x204], 0
je 0x10085dbe
mov ax, word [0x100bf3bc]
test ax, ax
jne 0x10085dae
mov ecx, 0xd1eece1c
call fcn.10002c20
mov word [0x100bf3bc], ax
movzx eax, ax
mov dword [eax + esi], 2
mov edi, dword [0x100bff40]
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [edi + 0x33400]
xor esi, esi
test ecx, ecx
jle 0x10085df2
movsx edx, ax
lea eax, [edi + 0x100]
nop dword [eax]
cmp dword [eax], edx
je 0x10085f23
inc esi
add eax, 0xcd0
cmp esi, ecx
jl 0x10085de0
mov esi, dword [0x100be8d8]
mov eax, dword [ebp - 0x1bc]
add eax, 4
mov dword [ebp - 0x1bc], eax
cmp eax, dword [ebp - 0x1f0]
jne 0x10085cf0
mov eax, dword [0x100bfae4]
cmp byte [eax], 0
je 0x100863c6
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x100c099c]
cmp eax, dword [ecx + 4]
jle 0x10085e86
push 0x100c099c
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c099c], 0xffffffff
jne 0x10085e86
mov dword [ebp - 4], 8
call fcn.1000b670
push str.m_flFlashDuration
push str.DT_CSPlayer
mov ecx, eax
call fcn.10078eb0
sub eax, 0x1c
mov dword [ebp - 4], 0xffffffff
push 0x100c099c
mov dword [0x100c0990], eax
call fcn.1008a0ac
add esp, 4
mov ecx, dword [0x100beabc]
push 0x18
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
test al, al
je 0x100863c6
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
call edi
mov esi, eax
mov ecx, edx
mov eax, dword [0x100bf394]
cdq
sub esi, eax
sbb ecx, edx
jne 0x10085ec1
cmp esi, 0x12c
jbe 0x100863c6
call edi
mov esi, dword [ebp - 0x1e8]
mov ecx, esi
mov dword [0x100bf394], eax
call fcn.10079170
mov ecx, esi
cmp byte [eax], 0
jne 0x1008639d
call fcn.10079170
push str.play_items_nvg_on.wav
mov byte [eax], 1
mov eax, dword [0x100c0990]
mov dword [eax + esi], 0x3f800000
mov ecx, dword [0x100be9f8]
mov eax, dword [ecx]
call dword [eax + 0x1b0]
jmp 0x100863cc
cmp ax, 0x2a
mov ecx, 0x3b
cmove eax, ecx
mov dword [ebp - 0x1e4], eax
jmp 0x10085dc4
cmp esi, 0xffffffff
je 0x10085df2
imul eax, esi, 0xcd0
cmp byte [eax + edi + 0x204], 0
je 0x10085df2
mov ecx, dword [0x100beb30]
mov eax, 0x4ec4ec4f
sub ecx, dword [0x100beb2c]
xor edi, edi
imul ecx
mov dword [ebp - 0x1ec], edi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0x44], ecx
je 0x10085f9e
mov edx, dword [0x100beb2c]
xor eax, eax
mov edi, dword [ebp - 0x1e4]
imul eax, eax, 0x68
movsx ecx, di
mov edi, dword [ebp - 0x1ec]
cmp dword [eax + edx], ecx
mov ecx, dword [ebp - 0x44]
je 0x100862f2
inc edi
movsx eax, di
mov dword [ebp - 0x1ec], edi
cmp eax, ecx
jb 0x10085f72
mov edi, dword [ebp - 0x1dc]
mov ax, word [0x100bf3c8]
test ax, ax
jne 0x10085fbf
mov ecx, 0xbe941e7d
call fcn.10002c20
mov word [0x100bf3c8], ax
movzx eax, ax
mov dword [eax + edi], 0xffffffff
mov ecx, dword [0x100bff40]
imul eax, esi, 0xcd0
cmp byte [eax + ecx + 0x218], 0
jne 0x1008600c
mov ax, word [0x100bf3e0]
test ax, ax
jne 0x10085ffa
mov ecx, 0x6f05a0eb
call fcn.10002c20
mov word [0x100bf3e0], ax
movzx ecx, ax
mov eax, dword [ebp - 0x1b0]
mov dword [ecx + edi], eax
mov ecx, dword [0x100bff40]
imul eax, esi, 0xcd0
mov edi, dword [eax + ecx + 0x220]
mov ax, word [0x100bf3d8]
test ax, ax
jne 0x10086034
mov ecx, 0x5653275d
call fcn.10002c20
mov word [0x100bf3d8], ax
mov ecx, dword [ebp - 0x1dc]
movzx eax, ax
mov dword [eax + ecx], edi
mov eax, dword [0x100bff40]
imul ecx, esi, 0xcd0
add eax, 0x228
add eax, ecx
mov dword [ebp - 0x44], eax
mov ax, word [0x100bf3ac]
test ax, ax
jne 0x10086070
mov ecx, 0xdc77adf5
call fcn.10002c20
mov word [0x100bf3ac], ax
push dword [ebp - 0x44]
mov edi, dword [ebp - 0x1dc]
movzx eax, ax
push 0x10098f0c
add eax, edi
push 0x20
push eax
call fcn.1000d1d0
mov eax, dword [0x100bff40]
add esp, 0x10
imul ecx, esi, 0xcd0
mov eax, dword [ecx + eax + 0x208]
mov dword [ebp - 0x44], eax
mov ax, word [0x100bf3fc]
test ax, ax
jne 0x100860be
mov ecx, 0xc80c4482
call fcn.10002c20
mov word [0x100bf3fc], ax
mov ecx, dword [ebp - 0x44]
movzx eax, ax
mov dword [eax + edi], ecx
mov eax, dword [0x100bff40]
imul ecx, esi, 0xcd0
mov eax, dword [ecx + eax + 0x210]
mov dword [ebp - 0x44], eax
mov ax, word [0x100bf3d0]
test ax, ax
jne 0x100860f7
mov ecx, 0x1c403025
call fcn.10002c20
mov word [0x100bf3d0], ax
mov ecx, dword [ebp - 0x44]
movzx eax, ax
mov dword [eax + edi], ecx
mov eax, dword [0x100bff40]
imul ecx, esi, 0xcd0
movss xmm0, dword [ecx + eax + 0x21c]
mov ax, word [0x100bf3f0]
movss dword [ebp - 0x44], xmm0
test ax, ax
jne 0x10086139
mov ecx, 0xa3ce5497
call fcn.10002c20
movss xmm0, dword [ebp - 0x44]
mov word [0x100bf3f0], ax
movzx eax, ax
imul ecx, esi, 0xcd0
movss dword [eax + edi], xmm0
mov eax, dword [0x100bff40]
mov esi, dword [ecx + eax + 0x214]
mov ax, word [0x100bf418]
test ax, ax
jne 0x1008616e
mov ecx, 0xf6f4e01e
call fcn.10002c20
mov word [0x100bf418], ax
cmp word [0x100bebe4], 0
movzx eax, ax
mov dword [eax + edi], esi
jne 0x100861c7
call fcn.10002b20
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0x97ee8fdf
push ecx
lea ecx, [ebp - 0x1cc]
push ecx
mov ecx, eax
call fcn.1000bc80
mov eax, dword [ebp - 0x1c4]
cmp byte [eax + 0xd], 0
jne 0x10086392
cmp dword [eax + 0x10], 0x97ee8fdf
ja 0x10086392
mov ax, word [eax + 0x18]
add ax, 0xc
mov word [0x100bebe4], ax
mov edx, dword fs:[0x2c]
mov esi, dword [0x100be8d8]
mov eax, dword [0x100c0a14]
mov ecx, dword [edx + esi*4]
cmp eax, dword [ecx + 4]
jle 0x10086211
push 0x100c0a14
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c0a14], 0xffffffff
jne 0x10086211
push 0x1008f5b0
call fcn.1008a5ab
push 0x100c0a14
call fcn.1008a0ac
add esp, 8
movzx edi, word [0x100bebe4]
add edi, dword [ebp - 0x1dc]
cmp dword [0x100bf3e8], 0
jne 0x10086386
mov eax, dword [edi]
xor esi, esi
mov dword [0x100bf3e8], eax
cmp dword [eax], esi
je 0x10086276
xor ecx, ecx
nop word [eax + eax]
push 0x1c
lea edx, [ebp - 0x60]
push edx
push dword [ecx + eax]
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
cmp dword [ebp - 0x48], 0
je 0x10086276
mov eax, dword [ebp - 0x4c]
test eax, 0x101
jne 0x10086276
test al, 0xf0
je 0x10086276
mov eax, dword [0x100bf3e8]
inc esi
lea ecx, [esi*4]
cmp dword [ecx + eax], 0
jne 0x10086240
mov ecx, 4
lea eax, [esi + 1]
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.1008a5f6
lea ecx, [eax + 4]
lea eax, [esi*4 + 4]
mov dword [0x100bf3e4], ecx
push eax
mov eax, dword [0x100bf3e8]
add eax, 0xfffffffc
push eax
lea eax, [ecx - 4]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x100bf3e4]
add esp, 0x10
mov dword [edi], eax
mov eax, dword [0x100bf3e4]
mov dword [eax + 0x10], 0x10084040
mov eax, dword [0x100bf3e8]
mov eax, dword [eax + 0x10]
mov dword [0x100be9c8], eax
mov eax, dword [0x100bf3e4]
mov dword [eax + 0x14], 0x10084140
mov eax, dword [0x100bf3e8]
mov eax, dword [eax + 0x14]
mov dword [0x100be9c4], eax
jmp 0x10085df2
mov eax, dword [0x100bff40]
cmp byte [eax + 0x2c9c], 0
je 0x10085f9e
movzx edi, word [eax + 0x2c98]
mov ax, word [0x100bf400]
test ax, ax
jne 0x10086326
mov ecx, 0xfbedb167
call fcn.10002c20
mov word [0x100bf400], ax
mov ecx, dword [ebp - 0x1dc]
movzx eax, ax
mov word [eax + ecx], di
mov ecx, dword [0x100bea0c]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
mov eax, dword [0x100bff40]
add eax, 0x2a98
push eax
call edx
movzx edi, ax
test di, di
je 0x10085f9e
mov ax, word [0x100bf208]
test ax, ax
jne 0x10086372
mov ecx, 0xe6d17304
call fcn.10002c20
mov word [0x100bf208], ax
movsx ecx, di
mov edi, dword [ebp - 0x1dc]
movzx eax, ax
mov dword [eax + edi], ecx
jmp 0x10085fa4
mov eax, dword [0x100bf3e4]
mov dword [edi], eax
jmp 0x10085df8
push str.invalid_map_K__T__key
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__]
call fcn.10079170
push str.play_items_nvg_off.wav
mov byte [eax], 0
mov eax, dword [0x100c0990]
mov dword [eax + esi], 0
mov ecx, dword [0x100be9f8]
mov eax, dword [ecx]
call dword [eax + 0x1b0]
jmp 0x100863cc
mov esi, dword [ebp - 0x1e8]
mov eax, dword [0x100bfa0c]
cmp byte [eax], 0
je 0x100863dd
mov ecx, esi
call fcn.100797f0
mov eax, dword [0x100bfc28]
cmp byte [eax], 0
je 0x100863ec
call fcn.10079c70
mov al, 1
jmp 0x1008505b