Function at 0x10036300
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e01e1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a0
mov ecx, dword [0x1019c970]
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x1019c82c]
mov esi, eax
push esi
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov edi, eax
mov dword [ebp - 0x4c], edi
test edi, edi
je 0x10036783
mov ecx, dword [0x1019c970]
lea eax, [ebp - 0x1ac]
push eax
push esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
test al, al
je 0x10036783
cmp byte [ebp + 8], 0
mov ecx, dword [0x101a3f58]
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ecx*4]
lea ecx, [eax + 4]
mov dword [ebp - 0x44], ecx
je 0x10036583
mov eax, dword [0x101a0378]
cmp eax, dword [ecx]
jg 0x10036793
mov eax, dword [0x101a0374]
mov ecx, edi
add eax, edi
mov dword [ebp - 0x50], eax
call fcn.10011f30
xor ecx, ecx
cmp dword [eax], 3
lea eax, [ebp - 0x54]
push eax
sete cl
add ecx, 0x13a4
mov dword [ebp - 0x54], ecx
mov ecx, 0x1019c3f8
call fcn.100343c0
mov ecx, dword [0x1019c82c]
mov edi, eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x40], edi
mov ecx, dword [ecx]
push ecx
mov edx, esp
mov esi, dword [ecx + 0x10]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [0x1019c82c]
call esi
mov esi, eax
test esi, esi
jne 0x1003641b
mov eax, dword [0x1019c82c]
push ecx
mov ecx, esp
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [0x101a038c]
mov dword [ecx], eax
mov ecx, dword [0x1019c82c]
call edx
test eax, eax
je 0x1003641b
mov edx, dword [ebp - 0x50]
mov esi, eax
mov ecx, dword [0x101a038c]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x4c]
call fcn.10087640
test al, al
jne 0x1003645f
test esi, esi
je 0x10036783
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]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x1003663a
cmp dword [edi + 0x3c], 0
je 0x1003663a
test esi, esi
jne 0x10036565
mov ecx, dword [ebp - 0x44]
mov eax, dword [0x101a0394]
cmp eax, dword [ecx]
jg 0x10036901
jmp 0x100364ee
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10036942
test al, al
je 0x1003693e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10036942
add ecx, 2
add edx, 2
test al, al
je 0x1003693e
jmp 0x10036490
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10036964
test dl, dl
je 0x10036960
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10036964
add eax, 2
add ecx, 2
test dl, dl
je 0x10036960
jmp 0x100364c0
mov ecx, dword [0x1019c82c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
lea esi, [eax + 1]
mov dword [ebp - 0x48], esi
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov edi, eax
and edi, 0x80000fff
jns 0x10036519
dec edi
or edi, 0xfffff000
inc edi
push edi
push esi
call dword [0x101a0390]
mov ecx, dword [0x1019c82c]
add esp, 8
mov edx, dword [ecx]
push esi
mov edx, dword [edx + 0xc]
call edx
mov ecx, dword [ebp - 0x44]
mov esi, eax
mov eax, dword [0x101a039c]
cmp eax, dword [ecx]
jg 0x1003698f
push 0x100e6ac0
mov ecx, esi
call dword [0x101a0398]
mov eax, dword [ebp - 0x50]
shl edi, 0x10
or edi, dword [ebp - 0x48]
mov dword [eax], edi
mov dword [0x101a038c], edi
mov edi, dword [ebp - 0x40]
push 0xffffffffffffffff
mov ecx, esi
call fcn.10087c10
push dword [ebp - 0x1a4]
push edi
push esi
call fcn.10034c10
add esp, 0xc
jmp 0x1003663a
mov eax, dword [0x101a0370]
cmp eax, dword [ecx]
jg 0x100369dd
mov eax, dword [0x101a036c]
xor esi, esi
add eax, edi
mov dword [ebp - 0x48], eax
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x1003663d
mov eax, dword [0x1019c82c]
push ecx
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x1019c82c]
call edx
mov edi, eax
test edi, edi
je 0x1003662a
mov ecx, edi
call fcn.10029bf0
movzx ecx, word [eax]
mov eax, 0x1f4
movsx edx, cx
cmp cx, ax
jl 0x100365e5
mov eax, 0x13a3
cmp cx, ax
jl 0x100365f1
cmp cx, 0x3b
je 0x100365f1
cmp cx, 0x2a
jne 0x10036609
mov ecx, dword [ebp - 0x4c]
call fcn.10011f30
mov edx, 0x3b
cmp dword [eax], 3
mov eax, 0x2a
cmove edx, eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], edx
push eax
mov ecx, 0x1019c3f8
call fcn.100343c0
push dword [ebp - 0x1a4]
push eax
push edi
call fcn.10034c10
add esp, 0xc
mov eax, dword [ebp - 0x48]
inc esi
mov ecx, dword [eax + esi*4]
cmp ecx, 0xffffffff
jne 0x100365a7
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x44]
mov eax, dword [0x101a0368]
cmp eax, dword [esi]
jg 0x10036b40
mov eax, dword [0x101a0364]
mov eax, dword [eax + edi]
cmp eax, 0xffffffff
je 0x10036783
mov ecx, dword [0x1019c82c]
mov ecx, dword [ecx]
push ecx
mov edx, dword [ecx + 0x10]
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [0x1019c82c]
call edx
mov edi, eax
mov dword [ebp - 0x48], edi
test edi, edi
je 0x10036783
mov ecx, dword [0x101a0388]
cmp ecx, dword [esi]
jg 0x10036c9e
mov eax, dword [0x101a0384]
mov eax, dword [eax + edi]
cmp eax, 0xffffffff
je 0x10036783
mov ecx, dword [0x1019c82c]
mov ecx, dword [ecx]
push ecx
mov edx, dword [ecx + 0x10]
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [0x1019c82c]
call edx
mov edi, eax
test edi, edi
je 0x10036783
mov ecx, edi
call fcn.10029bf0
movsx ecx, word [eax]
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], ecx
mov ecx, 0x1019d554
push eax
call fcn.10035c30
test eax, eax
je 0x10036783
mov ecx, edi
call fcn.10029bf0
mov ecx, 0x1019d554
movsx eax, word [eax]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
call fcn.10035bf0
mov ecx, dword [0x1019d3ec]
mov edx, dword [eax]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 8]
call eax
mov ecx, dword [0x101a0380]
mov dword [ebp - 0x50], eax
cmp ecx, dword [esi]
jg 0x10036e02
mov eax, dword [0x101a037c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov dword [eax + ecx], edx
mov eax, dword [0x101a0360]
cmp eax, dword [esi]
jg 0x10036f4c
mov eax, dword [0x101a035c]
mov eax, dword [eax + edi]
cmp eax, 0xffffffff
je 0x10036783
mov ecx, dword [0x1019c82c]
mov ecx, dword [ecx]
push ecx
mov edx, dword [ecx + 0x10]
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [0x1019c82c]
call edx
mov edi, eax
test edi, edi
je 0x10036783
mov ecx, dword [0x101a0358]
cmp ecx, dword [esi]
jg 0x10037096
mov eax, dword [0x101a0354]
mov ecx, dword [ebp - 0x50]
inc ecx
mov dword [eax + edi], ecx
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
push 0x101a0378
call fcn.100dc42f
add esp, 4
cmp dword [0x101a0378], 0xffffffff
jne 0x10036396
mov dword [ebp - 4], 0
call fcn.1000b080
mov ecx, dword [0x100e6a9c]
mov esi, eax
movq xmm0, qword [str.m_hMyWearables]
mov dword [ebp - 0x34], ecx
movzx ecx, word [0x100e6aa0]
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x2c], 0xe
movq qword [ebp - 0x3c], xmm0
mov word [ebp - 0x30], cx
mov byte [ebp - 0x2e], 0
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push 0x20
mov byte [ebp - 4], 1
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.10003380
movups xmm0, xmmword [str.DT_BaseCombatCharacter]
mov dword [ebp - 0x14], 0x16
mov dword [ebp - 0x10], 0x1f
movups xmmword [eax], xmm0
mov ecx, dword [0x100e4288]
mov dword [eax + 0x10], ecx
movzx ecx, word [0x100e428c]
mov word [eax + 0x14], cx
mov byte [eax + 0x16], 0
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x24]
mov ecx, esi
push eax
call fcn.10089110
mov edx, dword [ebp - 0x10]
mov dword [0x101a0374], eax
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x10036898
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003688c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100368d6
jmp 0x1003688c
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x10036898
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x100368e8
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100368dc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100368dc
jmp 0x100368d6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x100368e8
push 0x101a0378
mov dword [ebp - 4], 0xffffffff
call fcn.100dc3e5
add esp, 4
jmp 0x10036396
push 0x101a0394
call fcn.100dc42f
add esp, 4
cmp dword [0x101a0394], 0xffffffff
jne 0x100364ee
mov ecx, dword [0x101a0308]
mov dword [ebp - 4], 3
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov esi, eax
mov edx, str.CEconWearable
mov ecx, dword [esi + 8]
jmp 0x10036490
xor eax, eax
jmp 0x10036947
sbb eax, eax
or eax, 1
test eax, eax
je 0x1003696f
jmp 0x10036950
mov esi, dword [esi + 0x10]
mov ecx, str.CEconWearable
mov eax, dword [esi + 8]
jmp 0x100364c0
xor eax, eax
jmp 0x10036969
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10036950
jmp 0x1003696f
mov eax, dword [esi]
push 0x101a0394
mov dword [0x101a0390], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100dc3e5
add esp, 4
jmp 0x100364ee
push 0x101a039c
call fcn.100dc42f
add esp, 4
cmp dword [0x101a039c], 0xffffffff
jne 0x10036544
push 0x100e6acc
push 0x100e6568
mov dword [ebp - 4], 4
call fcn.1003faf0
push 0x101a039c
mov dword [0x101a0398], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100dc3e5
add esp, 0xc
jmp 0x10036544
push 0x101a0370
call fcn.100dc42f
add esp, 4
cmp dword [0x101a0370], 0xffffffff
jne 0x10036590
mov dword [ebp - 4], 5
call fcn.1000b080
movq xmm0, qword [str.m_hMyWeapons]
mov esi, eax
mov ecx, dword [0x100e6a8c]
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x2c], 0xc
movq qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x34], ecx
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push 0x20
mov byte [ebp - 4], 6
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.10003380
movups xmm0, xmmword [str.DT_BaseCombatCharacter]
mov dword [ebp - 0x14], 0x16
mov dword [ebp - 0x10], 0x1f
movups xmmword [eax], xmm0
mov ecx, dword [0x100e4288]
mov dword [eax + 0x10], ecx
mov cx, word [0x100e428c]
mov word [eax + 0x14], cx
mov byte [eax + 0x16], 0
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x24]
mov ecx, esi
push eax
call fcn.10089110
mov edx, dword [ebp - 0x10]
mov dword [0x101a036c], eax
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x10036ad7
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036acb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10036b15
jmp 0x10036acb
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x10036ad7
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x10036b27
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036b1b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10036b1b
jmp 0x10036b15
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x10036b27
push 0x101a0370
mov dword [ebp - 4], 0xffffffff
call fcn.100dc3e5
add esp, 4
jmp 0x10036590
push 0x101a0368
call fcn.100dc42f
add esp, 4
cmp dword [0x101a0368], 0xffffffff
jne 0x1003664d
mov dword [ebp - 4], 8
call fcn.1000b080
mov ecx, dword [0x100e6a68]
mov edx, eax
movq xmm0, qword [str.m_hViewModel_0_]
mov dword [ebp - 0x1c], ecx
mov cx, word [0x100e6a6c]
mov word [ebp - 0x18], cx
mov cl, byte [0x100e6a6e]
mov dword [ebp - 0x10], 0xf
mov dword [ebp - 0x14], 0xf
movq qword [ebp - 0x24], xmm0
mov byte [ebp - 0x16], cl
mov byte [ebp - 0x15], 0
mov eax, dword [0x100e4254]
movq xmm0, qword [str.DT_BasePlayer]
mov dword [ebp - 0x34], eax
mov al, byte [0x100e4258]
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x2c], 0xd
movq qword [ebp - 0x3c], xmm0
mov byte [ebp - 0x30], al
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x3c]
mov ecx, edx
push eax
call fcn.10089110
mov edx, dword [ebp - 0x28]
mov dword [0x101a0364], eax
mov byte [ebp - 4], 9
cmp edx, 0x10
jb 0x10036c23
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036c17
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10036c61
jmp 0x10036c17
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x10036c23
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
mov byte [ebp - 4], 8
cmp edx, 0x10
jb 0x10036c73
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036c67
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10036c67
jmp 0x10036c61
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x10036c73
push 0x101a0368
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
mov dword [ebp - 4], 0xffffffff
call fcn.100dc3e5
add esp, 4
jmp 0x1003664d
push 0x101a0388
call fcn.100dc42f
add esp, 4
cmp dword [0x101a0388], 0xffffffff
jne 0x10036691
mov dword [ebp - 4], 0xb
call fcn.1000b080
movq xmm0, qword [str.m_hWeapon]
mov esi, eax
mov cl, byte [0x100e6aac]
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x2c], 9
movq qword [ebp - 0x3c], xmm0
mov byte [ebp - 0x34], cl
mov byte [ebp - 0x33], 0
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push 0x20
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.10003380
movups xmm0, xmmword [str.DT_BaseViewModel]
mov dword [ebp - 0x14], 0x10
mov dword [ebp - 0x10], 0x1f
movups xmmword [eax], xmm0
mov byte [eax + 0x10], 0
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x24]
mov ecx, esi
push eax
call fcn.10089110
mov edx, dword [ebp - 0x10]
mov dword [0x101a0384], eax
mov byte [ebp - 4], 0xc
cmp edx, 0x10
jb 0x10036d84
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036d78
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10036dc2
jmp 0x10036d78
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x10036d84
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
mov byte [ebp - 4], 0xb
cmp edx, 0x10
jb 0x10036dd4
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036dc8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10036dc8
jmp 0x10036dc2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x10036dd4
push 0x101a0388
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
mov dword [ebp - 4], 0xffffffff
call fcn.100dc3e5
mov esi, dword [ebp - 0x44]
add esp, 4
jmp 0x10036691
push 0x101a0380
call fcn.100dc42f
add esp, 4
cmp dword [0x101a0380], 0xffffffff
jne 0x10036723
mov dword [ebp - 4], 0xe
call fcn.1000b080
push 0xd
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str.m_nModelIndex
mov esi, eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.10003440
push 0x10
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x3c]
push str.DT_BaseViewModel
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
call fcn.10003440
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x3c]
mov ecx, esi
push eax
call fcn.10089110
mov edx, dword [ebp - 0x28]
mov dword [0x101a037c], eax
mov byte [ebp - 4], 0xf
cmp edx, 0x10
jb 0x10036ece
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036ec2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10036f0c
jmp 0x10036ec2
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x10036ece
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
mov byte [ebp - 4], 0xe
cmp edx, 0x10
jb 0x10036f1e
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036f12
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10036f12
jmp 0x10036f0c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x10036f1e
push 0x101a0380
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
mov dword [ebp - 4], 0xffffffff
call fcn.100dc3e5
mov esi, dword [ebp - 0x44]
add esp, 4
jmp 0x10036723
push 0x101a0360
call fcn.100dc42f
add esp, 4
cmp dword [0x101a0360], 0xffffffff
jne 0x1003673e
mov dword [ebp - 4], 0x11
call fcn.1000b080
push 0x13
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str.m_hWeaponWorldModel
mov esi, eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.10003440
push 0x13
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x3c]
push str.DT_BaseCombatWeapon
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
call fcn.10003440
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x3c]
mov ecx, esi
push eax
call fcn.10089110
mov edx, dword [ebp - 0x28]
mov dword [0x101a035c], eax
mov byte [ebp - 4], 0x12
cmp edx, 0x10
jb 0x10037018
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003700c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037056
jmp 0x1003700c
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x10037018
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
mov byte [ebp - 4], 0x11
cmp edx, 0x10
jb 0x10037068
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003705c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1003705c
jmp 0x10037056
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x10037068
push 0x101a0360
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
mov dword [ebp - 4], 0xffffffff
call fcn.100dc3e5
mov esi, dword [ebp - 0x44]
add esp, 4
jmp 0x1003673e
push 0x101a0358
call fcn.100dc42f
add esp, 4
cmp dword [0x101a0358], 0xffffffff
jne 0x10036777
mov dword [ebp - 4], 0x14
call fcn.1000b080
push 0xd
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push str.m_nModelIndex
mov esi, eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.10003440
push 0x17
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x3c]
push str.DT_BaseWeaponWorldModel
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
call fcn.10003440
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x3c]
mov ecx, esi
push eax
call fcn.10089110
mov edx, dword [ebp - 0x28]
mov dword [0x101a0354], eax
cmp edx, 0x10
jb 0x1003715e
mov ecx, dword [ebp - 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037152
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037198
jmp 0x10037152
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x1003715e
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
cmp edx, 0x10
jb 0x100371aa
mov ecx, dword [ebp - 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003719e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1003719e
jmp 0x10037198
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100dbfa3
add esp, 8
jmp 0x100371aa
push 0x101a0358
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0xf
mov byte [ebp - 0x24], 0
call fcn.100dc3e5
add esp, 4
jmp 0x10036777