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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
mov eax, dword [0x1020f0c0]
xor eax, esp
mov dword [esp + 0x94], eax
mov eax, dword [0x1022ee74]
push esi
push edi
cmp dword [eax], 0
je 0x1009e3e4
mov eax, dword [0x1022ccc8]
add eax, 0x106c
mov dword [esp + 0x14], eax
call fcn.1009e830
mov eax, dword [0x1022ccd0]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov ecx, dword [0x1022ccd0]
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 0x1009dc26
mov eax, dword [0x1022ccd0]
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.0x1009db41.10
mov edx, dword [esi + 8]
lea ecx, [esi + 8]
mov edx, dword [edx + 0x24]
call edx
test al, al
jne case.0x1009db41.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.0x1009db41.10
movzx eax, byte [eax + 0x1009e408]
jmp dword [eax*4 + 0x1009e400]
mov eax, dword [0x1022ccc4]
xor ecx, ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x10], eax
mov edx, dword [eax + 0xc]
test edx, edx
jle 0x1009db7a
mov eax, dword [eax]
nop
cmp dword [eax], 0xfffffffe
jne 0x1009db6e
cmp dword [eax + 4], esi
je case.0x1009db41.10
inc ecx
add eax, 0x38
cmp ecx, edx
jl 0x1009db60
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x20], eax
cmp eax, 0xffffffff
je 0x1009dc13
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 [0x10521058]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
cmp ecx, dword [0x1052105c]
je 0x1009dbfd
mov dword [ecx], edi
mov dword [ecx + 4], eax
add dword [0x10521058], 8
jmp case.0x1009db41.10
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
push ecx
call fcn.1009eae0
mov edi, dword [esp + 0x1c]
jmp case.0x1009db41.10
mov dword [esp + 0x10], eax
inc edi
mov dword [esp + 0x1c], edi
cmp edi, dword [esp + 0x28]
jle 0x1009daf1
mov eax, dword [0x1022ccc4]
mov dword [esp + 0x20], 0
mov eax, dword [eax + 0x14]
cmp dword [eax + 0xc], 0
jle 0x1009e3e4
xor edi, edi
mov dword [esp + 0x24], edi
mov eax, dword [0x1022ccc4]
mov eax, dword [eax + 0x14]
mov esi, dword [eax]
add esi, edi
cmp dword [esi], 0xfffffffe
mov edi, dword [esi + 4]
jne 0x1009e3bf
test edi, edi
je 0x1009e3bf
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1009e3bf
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.0x1009dca4.10
movzx eax, byte [eax + 0x1009e4c4]
jmp dword [eax*4 + 0x1009e4a4]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x1009e3bf
mov eax, dword [0x1022ee74]
mov ecx, dword [eax]
cmp edi, ecx
jne 0x1009dd7f
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x1e8]
call eax
mov ecx, dword [0x101f2204]
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.1009e8a0
push esi
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.1009e560
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x1009e3bf
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009dd70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009e3f8
push ecx
push edx
call fcn.101a201e
add esp, 8
jmp 0x1009e3bf
mov eax, dword [0x1022ccc4]
push ecx
mov ecx, edi
mov eax, dword [eax + 0x38]
call eax
mov dword [esp + 0x84], 0xf
xorps xmm0, xmm0
lea ecx, [esp + 0x1c]
push edi
test al, al
je 0x1009de29
mov eax, dword [str.Enemies]
mov dword [esp + 0x74], eax
mov ax, word [0x101f2210]
mov word [esp + 0x78], ax
mov al, byte [0x101f2212]
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.1009e760
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x1009e3bf
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009de1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009e3f8
push ecx
push edx
call fcn.101a201e
add esp, 8
jmp 0x1009e3bf
mov eax, dword [str.Allies]
movaps xmmword [esp + 0x74], xmm0
mov dword [esp + 0x74], eax
mov ax, word [0x101f2218]
mov word [esp + 0x78], ax
lea eax, [esp + 0x74]
push eax
mov dword [esp + 0x88], 6
mov byte [esp + 0x7e], 0
call fcn.1009e760
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x1009e3bf
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009de8f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009e3f8
push ecx
push edx
call fcn.101a201e
add esp, 8
jmp 0x1009e3bf
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.1009e8a0
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.1009e560
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x1009e3bf
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009df22
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009e3f8
push ecx
push edx
call fcn.101a201e
add esp, 8
jmp 0x1009e3bf
mov ax, word [0x101f0c24]
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.1009e8a0
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.1009e560
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x1009e3bf
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009dfc7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009e3f8
push ecx
push edx
call fcn.101a201e
add esp, 8
jmp 0x1009e3bf
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.1009e8a0
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.1009e560
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x1009e3bf
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009e063
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009e3f8
push ecx
push edx
call fcn.101a201e
add esp, 8
jmp 0x1009e3bf
mov ax, word [0x101f2230]
movq xmm0, qword [str.Defuse_Kits]
mov ecx, dword [esp + 0x14]
mov word [esp + 0x78], ax
mov al, byte [0x101f2232]
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.1009e8a0
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.1009e560
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x1009e3bf
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009e114
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009e3f8
push ecx
push edx
call fcn.101a201e
add esp, 8
jmp 0x1009e3bf
mov ax, word [0x101f223c]
movq xmm0, qword [str.Projectiles]
mov ecx, dword [esp + 0x14]
mov word [esp + 0x78], ax
mov al, byte [0x101f223e]
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.1009e8a0
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.1009e560
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x1009e3bf
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009e1c5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009e3f8
push ecx
push edx
call fcn.101a201e
add esp, 8
jmp 0x1009e3bf
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.1009e8a0
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.1009e560
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x1009e3bf
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009e261
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009e3f8
push ecx
push edx
call fcn.101a201e
add esp, 8
jmp 0x1009e3bf
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x298]
call eax
test al, al
je 0x1009e3bf
mov eax, dword [str.Weapons]
xorps xmm0, xmm0
mov edi, dword [esp + 0x14]
mov ecx, edi
mov dword [esp + 0x70], eax
mov ax, word [0x101f1990]
mov word [esp + 0x74], ax
mov al, byte [0x101f1992]
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.1009e8a0
push 0
lea ecx, [esp + 0x14]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.1009e560
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x1009e324
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009e31a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009e3f8
push ecx
push edx
call fcn.101a201e
add esp, 8
mov eax, dword [str.Weapons]
xorps xmm0, xmm0
mov dword [esp + 0x70], eax
mov ecx, edi
mov ax, word [0x101f1990]
mov word [esp + 0x74], ax
mov al, byte [0x101f1992]
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.1009e8a0
mov ecx, dword [esp + 0x84]
mov eax, dword [eax]
mov al, byte [eax + 0x35]
mov byte [esp + 0x1b], al
cmp ecx, 0xf
jbe 0x1009e3b8
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009e3aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009e3f8
push ecx
push edx
call fcn.101a201e
mov al, byte [esp + 0x23]
add esp, 8
test al, al
jne 0x1009e3bf
mov byte [esi + 0x28], al
mov eax, dword [0x1022ccc4]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
inc esi
add edi, 0x38
mov dword [esp + 0x20], esi
mov eax, dword [eax + 0x14]
mov dword [esp + 0x24], edi
cmp esi, dword [eax + 0xc]
jl 0x1009dc46
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
xor ecx, esp
call fcn.101a1d25
mov esp, ebp
pop ebp
ret
call fcn.101a7156
nop dword [eax]
dec eax
fisttp dword [ecx]
adc byte [edi], dl
fmul 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]
and esp, ecx
or dword [eax], edx
sahf
fimul word [ecx]
adc dh, dl
fisttp word [ecx]
adc byte [ebx + 0x721009dc], ch
loopne 0x1009e4c0
adc ah, dl
loope 0x1009e4c4
adc byte [ecx], dh
fisttp word [ecx]
adc byte [eax - 0x1e], dh
jo 0x1009e4a4
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