Function at 0x10096160
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
mov eax, dword [0x101f80c0]
xor eax, esp
mov dword [esp + 0x94], eax
mov eax, dword [0x10214cf4]
push esi
push edi
cmp dword [eax], 0
je 0x10096ac4
mov eax, dword [0x10213408]
add eax, 0xe7c
mov dword [esp + 0x14], eax
call fcn.10096f10
mov eax, dword [0x10213410]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [0x10213410]
mov esi, eax
mov dword [esp + 0x28], esi
mov ecx, dword [ecx + 0x10]
mov edx, dword [ecx]
mov edx, dword [edx + 0x50]
call edx
lea edi, [eax + 1]
mov dword [esp + 0x1c], edi
cmp edi, esi
jg 0x10096306
mov eax, dword [0x10213410]
push edi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
je case.0x10096221.10
mov edx, dword [esi + 8]
lea ecx, [esi + 8]
mov edx, dword [edx + 0x24]
call edx
test al, al
jne case.0x10096221.10
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 8]
call eax
mov eax, dword [eax + 0x14]
add eax, 0xfffffff7
cmp eax, 0x98
ja case.0x10096221.10
movzx eax, byte [eax + 0x10096ae8]
jmp dword [eax*4 + 0x10096ae0]
mov eax, dword [0x10213404]
xor ecx, ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], eax
mov edx, dword [eax + 0xc]
test edx, edx
jle 0x1009625a
mov eax, dword [eax]
nop
cmp dword [eax], 0xfffffffe
jne 0x1009624e
cmp dword [eax + 4], esi
je case.0x10096221.10
inc ecx
add eax, 0x38
cmp ecx, edx
jl 0x10096240
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x20], eax
cmp eax, 0xffffffff
je 0x100962f3
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esp + 0x10]
shl edx, 3
mov dword [esp + 0x24], edx
mov ecx, dword [eax]
mov eax, dword [ecx + edx]
add ecx, edx
mov edx, dword [esp + 0x10]
mov dword [edx + 0x28], eax
mov dword [ecx + 4], esi
mov ecx, edx
mov edx, dword [esp + 0x24]
mov eax, dword [ecx]
mov byte [edx + eax + 0x2a], 0
mov eax, dword [ecx]
mov dword [edx + eax + 0x2c], 0
mov eax, dword [ecx]
mov dword [edx + eax + 0x34], 0xffffffff
mov eax, dword [ecx]
mov dword [edx + eax], 0xfffffffe
mov ecx, dword [0x103da678]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
cmp ecx, dword [0x103da67c]
je 0x100962dd
mov dword [ecx], edi
mov dword [ecx + 4], eax
add dword [0x103da678], 8
jmp case.0x10096221.10
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push ecx
call fcn.100971c0
mov edi, dword [esp + 0x1c]
jmp case.0x10096221.10
mov dword [esp + 0x10], eax
inc edi
mov dword [esp + 0x1c], edi
cmp edi, dword [esp + 0x28]
jle 0x100961d1
mov eax, dword [0x10213404]
mov dword [esp + 0x20], 0
mov eax, dword [eax + 0x10]
cmp dword [eax + 0xc], 0
jle 0x10096ac4
xor edi, edi
mov dword [esp + 0x24], edi
mov eax, dword [0x10213404]
mov eax, dword [eax + 0x10]
mov esi, dword [eax]
add esi, edi
cmp dword [esi], 0xfffffffe
mov edi, dword [esi + 4]
jne 0x10096a9f
test edi, edi
je 0x10096a9f
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x10096a9f
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], esi
mov eax, dword [eax + 8]
call eax
mov eax, dword [eax + 0x14]
add eax, 0xfffffff7
cmp eax, 0x98
ja case.0x10096384.10
movzx eax, byte [eax + 0x10096ba4]
jmp dword [eax*4 + 0x10096b84]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x10096a9f
mov eax, dword [0x10214cf4]
mov ecx, dword [eax]
cmp edi, ecx
jne 0x1009645f
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x1e8]
call eax
mov ecx, dword [0x101dc18c]
mov esi, eax
xorps xmm0, xmm0
mov dword [esp + 0x80], 0xc
movaps xmmword [esp + 0x70], xmm0
lea eax, [esp + 0x70]
movq xmm0, qword [str.Local_Player]
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x18]
push eax
mov dword [esp + 0x8c], 0xf
movq qword [esp + 0x78], xmm0
mov byte [esp + 0x84], 0
call fcn.10096f80
push esi
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10096c40
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x10096a9f
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10096450
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10096ad8
push ecx
push edx
call fcn.1018dda2
add esp, 8
jmp 0x10096a9f
mov eax, dword [0x10213404]
push ecx
mov ecx, edi
mov eax, dword [eax + 0x34]
call eax
mov dword [esp + 0x84], 0xf
xorps xmm0, xmm0
lea ecx, [esp + 0x1c]
push edi
test al, al
je 0x10096509
mov eax, dword [0x101dc194]
mov dword [esp + 0x74], eax
mov ax, word [0x101dc198]
mov word [esp + 0x78], ax
mov al, byte [0x101dc19a]
mov byte [esp + 0x7a], al
lea eax, [esp + 0x74]
push eax
movlpd qword [esp + 0x80], xmm0
mov dword [esp + 0x88], 7
mov byte [esp + 0x7f], 0
call fcn.10096e40
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x10096a9f
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100964fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10096ad8
push ecx
push edx
call fcn.1018dda2
add esp, 8
jmp 0x10096a9f
mov eax, dword [0x101dc19c]
movaps xmmword [esp + 0x74], xmm0
mov dword [esp + 0x74], eax
mov ax, word [0x101dc1a0]
mov word [esp + 0x78], ax
lea eax, [esp + 0x74]
push eax
mov dword [esp + 0x88], 6
mov byte [esp + 0x7e], 0
call fcn.10096e40
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x10096a9f
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009656f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10096ad8
push ecx
push edx
call fcn.1018dda2
add esp, 8
jmp 0x10096a9f
mov ecx, dword [esp + 0x14]
xorps xmm0, xmm0
movaps xmmword [esp + 0x70], xmm0
mov eax, 0x3443
mov word [esp + 0x70], ax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x84], 2
push eax
mov dword [esp + 0x8c], 0xf
mov byte [esp + 0x7a], 0
call fcn.10096f80
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10096c40
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x10096a9f
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10096602
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10096ad8
push ecx
push edx
call fcn.1018dda2
add esp, 8
jmp 0x10096a9f
mov ax, word [0x101db33c]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x14]
movaps xmmword [esp + 0x70], xmm0
movq xmm0, qword [str.Planted_C4]
mov word [esp + 0x78], ax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x84], 0xa
push eax
mov dword [esp + 0x8c], 0xf
movq qword [esp + 0x78], xmm0
mov byte [esp + 0x82], 0
call fcn.10096f80
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10096c40
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x10096a9f
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100966a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10096ad8
push ecx
push edx
call fcn.1018dda2
add esp, 8
jmp 0x10096a9f
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
xorps xmm0, xmm0
mov dword [esp + 0x84], 8
movaps xmmword [esp + 0x74], xmm0
lea eax, [esp + 0x44]
push eax
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x78], 0x63696843
mov dword [esp + 0x7c], 0x736e656b
mov byte [esp + 0x80], 0
call fcn.10096f80
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10096c40
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x10096a9f
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10096743
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10096ad8
push ecx
push edx
call fcn.1018dda2
add esp, 8
jmp 0x10096a9f
mov ax, word [0x101dc1b8]
movq xmm0, qword [str.Defuse_Kits]
mov ecx, dword [esp + 0x14]
mov word [esp + 0x78], ax
mov al, byte [0x101dc1ba]
mov byte [esp + 0x7a], al
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x80], 0
push eax
mov dword [esp + 0x88], 0xb
mov dword [esp + 0x8c], 0xf
movq qword [esp + 0x78], xmm0
mov byte [esp + 0x83], 0
call fcn.10096f80
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10096c40
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x10096a9f
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100967f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10096ad8
push ecx
push edx
call fcn.1018dda2
add esp, 8
jmp 0x10096a9f
mov ax, word [0x101dc1c4]
movq xmm0, qword [str.Projectiles]
mov ecx, dword [esp + 0x14]
mov word [esp + 0x78], ax
mov al, byte [0x101dc1c6]
mov byte [esp + 0x7a], al
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x54]
mov dword [esp + 0x80], 0
push eax
mov dword [esp + 0x88], 0xb
mov dword [esp + 0x8c], 0xf
movq qword [esp + 0x78], xmm0
mov byte [esp + 0x83], 0
call fcn.10096f80
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10096c40
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x10096a9f
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100968a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10096ad8
push ecx
push edx
call fcn.1018dda2
add esp, 8
jmp 0x10096a9f
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
xorps xmm0, xmm0
mov dword [esp + 0x84], 8
movaps xmmword [esp + 0x74], xmm0
lea eax, [esp + 0x5c]
push eax
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x78], 0x74736f48
mov dword [esp + 0x7c], 0x73656761
mov byte [esp + 0x80], 0
call fcn.10096f80
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10096c40
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x10096a9f
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10096941
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10096ad8
push ecx
push edx
call fcn.1018dda2
add esp, 8
jmp 0x10096a9f
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x298]
call eax
test al, al
je 0x10096a9f
mov eax, dword [str.Weapons]
xorps xmm0, xmm0
mov edi, dword [esp + 0x14]
mov ecx, edi
mov dword [esp + 0x70], eax
mov ax, word [0x101dba84]
mov word [esp + 0x74], ax
mov al, byte [0x101dba86]
mov byte [esp + 0x76], al
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x64]
movlpd qword [esp + 0x7c], xmm0
push eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x8c], 0xf
mov byte [esp + 0x7f], 0
call fcn.10096f80
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.10096c40
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x10096a04
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100969fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10096ad8
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov eax, dword [str.Weapons]
xorps xmm0, xmm0
mov dword [esp + 0x70], eax
mov ecx, edi
mov ax, word [0x101dba84]
mov word [esp + 0x74], ax
mov al, byte [0x101dba86]
mov byte [esp + 0x76], al
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x6c]
movlpd qword [esp + 0x7c], xmm0
push eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x8c], 0xf
mov byte [esp + 0x7f], 0
call fcn.10096f80
mov ecx, dword [esp + 0x84]
mov eax, dword [eax]
mov al, byte [eax + 0x35]
mov byte [esp + 0x1b], al
cmp ecx, 0xf
jbe 0x10096a98
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10096a8a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10096ad8
push ecx
push edx
call fcn.1018dda2
mov al, byte [esp + 0x23]
add esp, 8
test al, al
jne 0x10096a9f
mov byte [esi + 0x28], al
mov eax, dword [0x10213404]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
inc esi
add edi, 0x38
mov dword [esp + 0x20], esi
mov eax, dword [eax + 0x10]
mov dword [esp + 0x24], edi
cmp esi, dword [eax + 0xc]
jl 0x10096326
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
xor ecx, esp
call fcn.1018daa9
mov esp, ebp
pop ebp
ret
call fcn.10192ed6
nop dword [eax]
sub byte [edx + 9], ah
adc bh, dh
bound ecx, qword [ecx]
adc byte [eax], 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 [eax], 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 byte [ecx], al
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 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 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 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 dword [ecx], eax
add dword [eax], eax
add dword [ecx], eax
add dword [eax], eax
nop dword [eax]
add ebp, dword [eax + 9]
adc byte [esi + 101], bh
or dword [eax], edx
mov dh, 0x66
or dword [eax], edx
mov esp, dword [ebx + 9]
adc byte [edx + 103], dl
or dword [eax], edx
mov ah, 0x68
or dword [eax], edx
adc dword [esi + 9], esp
adc byte [eax + 105], dl
or dword [eax], edx
add byte [edi], al
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add byte [edi], al
pop es
pop es
add byte [ecx], al
pop es
add al, byte [edi]
pop es
pop es
add eax, dword [edi]
pop es
pop es
pop es
pop es
pop es
pop es
add byte [edi], al
pop es
pop es
pop es
add al, 7
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add eax, 117901063
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add byte [edi], al
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
push es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add byte [edi], al
pop es
pop es
add byte [edi], al
pop es
pop es
add ah, cl
int3