Function at 0x1016d252
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1017c609
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x170
mov ecx, dword [0x1029ce1c]
xorps xmm0, xmm0
movups xmmword [0x10299070], xmm0
push esi
push edi
mov eax, dword [ecx]
mov edi, 1
mov dword [ebp - 0x14], edi
mov eax, dword [eax + 0x54]
call eax
cmp eax, edi
jl 0x1016cbbb
nop dword [eax + eax]
push 0x84
lea eax, [ebp - 0x180]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [0x1029ce1c]
lea edx, [ebp - 0x180]
add esp, 0xc
mov eax, dword [ecx]
push edx
push edi
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x1016cba2
lea eax, [ebp - 0x138]
mov ecx, 0x10299050
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.10127b50
mov eax, dword [eax]
mov dword [eax + 0xc], edi
mov esi, dword [ebp - 0x138]
test esi, esi
je 0x1016cb63
mov ecx, dword [0x1029cd60]
mov byte [ebp - 0x29], 1
mov edx, dword [ebp - 0x2c]
and edx, 0xff100001
mov eax, dword [ecx]
or edx, 0x100001
push 4
push edx
push esi
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x2c], edx
call eax
mov ecx, edi
xor edx, edx
shr ecx, 6
xor esi, esi
lea ecx, [ecx*8 + 0x10299070]
mov dword [ebp - 0x24], ecx
mov ecx, edi
and ecx, 0x3f
bts edx, ecx
cmp ecx, 0x20
cmovae esi, edx
xor edx, esi
cmp ecx, 0x40
mov ecx, dword [ebp - 0x24]
cmovae esi, edx
mov edi, dword [ecx + 4]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x14]
test al, al
je 0x1016cb92
or dword [ecx], edx
mov edx, dword [ebp - 0x1c]
or edx, esi
mov dword [ecx + 4], edx
jmp 0x1016cba2
mov eax, edi
xor edx, edx
shr eax, 6
xor esi, esi
lea ecx, [eax*8 + 0x10299070]
mov eax, edi
mov edi, dword [ecx + 4]
and eax, 0x3f
bts edx, eax
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x14]
cmp eax, 0x20
cmovae esi, edx
xor edx, esi
cmp eax, 0x40
cmovae esi, edx
mov eax, dword [ecx]
not edx
not esi
and edx, eax
and esi, dword [ebp - 0x1c]
mov dword [ecx], edx
mov dword [ecx + 4], esi
mov ecx, dword [0x1029ce1c]
inc edi
mov dword [ebp - 0x14], edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x54]
call eax
cmp edi, eax
jle 0x1016caa0
mov ecx, dword [0x1029ce1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x54]
call eax
mov ecx, dword [0x1029cea4]
lea esi, [eax + 1]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
call edx
cmp esi, eax
jge 0x1016cc24
nop dword [eax]
mov ecx, dword [0x1029cea4]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x1016cc12
mov edx, dword [edi + 8]
lea ecx, [edi + 8]
mov edx, dword [edx + 8]
call edx
test eax, eax
je 0x1016cc12
cmp dword [eax + 0x14], 0xf9
jne 0x1016cc12
mov dword [0x1029902c], edi
mov ecx, dword [0x1029cea4]
inc esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp esi, eax
jl 0x1016cbe0
mov ecx, dword [0x1029ce1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x1029cea4]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
test eax, eax
je 0x1016d6f6
mov ecx, eax
mov dword [0x10299020], eax
call fcn.100c1f00
mov ecx, dword [0x1029b784]
mov esi, dword [0x10299020]
mov dword [0x10299024], eax
mov eax, dword fs:[0x2c]
mov edi, dword [eax + ecx*4]
mov eax, dword [0x1029d100]
mov dword [ebp - 0x1c], edi
cmp eax, dword [edi + 4]
jle 0x1016ccc2
push 0x1029d100
call fcn.1016f60a
add esp, 4
cmp dword [0x1029d100], 0xffffffff
jne 0x1016ccc2
push str.m_iObserverMode
push str.CBasePlayer
mov dword [ebp - 4], 0
call fcn.1016e290
push 0x1029d100
mov dword [0x1029d0f8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov eax, dword [0x1029d0f8]
mov eax, dword [esi + eax]
sub eax, 4
je 0x1016ccd4
sub eax, 1
jne 0x1016cd47
mov eax, dword [0x1029d108]
mov esi, dword [0x10299020]
cmp eax, dword [edi + 4]
jle 0x1016cd2c
push 0x1029d108
call fcn.1016f60a
add esp, 4
cmp dword [0x1029d108], 0xffffffff
jne 0x1016cd2c
push str.m_hObserverTarget
push str.CBasePlayer
mov dword [ebp - 4], 1
call fcn.1016e290
push 0x1029d108
mov dword [0x1029d0fc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov eax, dword [0x1029d0fc]
mov ecx, dword [0x1029cea4]
mov edx, dword [esi + eax]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
mov dword [0x10299028], eax
mov ecx, dword [0x1029cea4]
mov dword [ebp - 0x28], 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [ebp - 0x28]
cmp edx, eax
jge 0x1016d6f6
mov ecx, dword [0x1029cea4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
je case.0x1016d3b9.263
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x1016cd95
mov edi, dword [eax + 0x14]
jmp 0x1016cd97
xor edi, edi
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x1016cfe4
cmp edi, 0xf7
jne case.0x1016d3b9.263
mov edx, dword [ebp - 0x28]
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [ebp - 0x26]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x25]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.101551d0
cmp dword [eax + 4], 0
je case.0x1016d3b9.263
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.10154c10
mov ecx, dword [0x1029ce1c]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x20], eax
movss xmm0, dword [eax + 0xc]
mov eax, dword [ecx]
movss dword [ebp - 0x18], xmm0
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x24], eax
call dword [ebp - 0x24]
fstp dword [ebp - 0x24]
movss xmm0, dword [ebp - 0x24]
subss xmm0, dword [ebp - 0x18]
comiss xmm0, dword [0x102a5adc]
ja case.0x1016d3b9.263
mov eax, dword [0x10298a8c]
test eax, eax
jne 0x1016ce64
mov ecx, 0x10298a8c
call fcn.1016e320
mov eax, dword [0x10298a8c]
push dword [ebp - 0x20]
mov ecx, esi
call eax
mov ecx, esi
call fcn.100a7130
mov edx, dword [ebp - 0x20]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.100a6210
mov byte [eax], 0
mov eax, dword [0x1029902c]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1016cff6
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [0x1029d0c0]
cmp eax, dword [ecx + 4]
jle 0x1016cefd
push 0x1029d0c0
call fcn.1016f60a
add esp, 4
cmp dword [0x1029d0c0], 0xffffffff
jne 0x1016cefa
push str.m_bValid
push str.CTFPlayerResource
mov dword [ebp - 4], 2
call fcn.1016e290
push 0x1029d0c0
mov dword [0x1029d0d8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [0x1029d0d8]
add eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov al, byte [eax + edx]
test al, al
je 0x1016cff6
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [0x1029d040]
cmp eax, dword [ecx + 4]
jle 0x1016cf6e
push 0x1029d040
call fcn.1016f60a
add esp, 4
cmp dword [0x1029d040], 0xffffffff
jne 0x1016cf6b
push str.m_iHealth
push str.CTFPlayerResource
mov dword [ebp - 4], 3
call fcn.1016e290
push 0x1029d040
mov dword [0x1029d020], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x1029d020]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + edx]
mov dword [ebp - 0x18], eax
mov eax, dword [0x1029ce64]
cmp eax, dword [ecx + 4]
jle 0x1016cfd4
push 0x1029ce64
call fcn.1016f60a
add esp, 4
cmp dword [0x1029ce64], 0xffffffff
jne 0x1016cfd4
push str.m_iHealth
push str.CBasePlayer
mov dword [ebp - 4], 4
call fcn.1016e290
push 0x1029ce64
mov dword [0x1029ce8c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov eax, dword [0x1029ce8c]
mov ecx, dword [ebp - 0x18]
mov dword [eax + esi], ecx
lea eax, [edi - 1]
jmp 0x1016d004
cmp edi, 0xfc
jg 0x1016d3a3
je case.0x1016d3b9.254
lea eax, [edi - 1]
cmp eax, 0xf6
ja case.0x1016d3b9.263
movzx eax, byte [eax + 0x1016d738]
jmp dword [eax*4 + 0x1016d70c]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
lea eax, [ebp - 0x80]
mov ecx, 0x10299030
push eax
call fcn.100b0350
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
add ecx, 0xc
cmp eax, dword [ecx + 8]
je 0x1016d040
mov dword [eax], esi
add dword [ecx + 4], 4
jmp 0x1016d04d
lea edx, [ebp - 0x14]
push edx
push eax
call fcn.1014de10
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov eax, dword [0x10299020]
mov dword [ebp - 0x18], eax
mov eax, dword [0x1029ce04]
cmp eax, dword [edi + 4]
jle 0x1016d0b0
push 0x1029ce04
call fcn.1016f60a
mov eax, dword [0x1029ce04]
add esp, 4
cmp eax, 0xffffffff
jne 0x1016d0b0
push str.m_iTeamNum
push str.CBaseEntity
mov dword [ebp - 4], 5
call fcn.1016e290
push 0x1029ce04
mov dword [0x1029cdfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
mov eax, dword [0x1029ce04]
add esp, 4
mov ecx, dword [0x1029cdfc]
mov dword [ebp - 0x24], ecx
cmp eax, dword [edi + 4]
jle 0x1016d106
push 0x1029ce04
call fcn.1016f60a
add esp, 4
cmp dword [0x1029ce04], 0xffffffff
jne 0x1016d106
push str.m_iTeamNum
push str.CBaseEntity
mov dword [ebp - 4], 6
call fcn.1016e290
push 0x1029ce04
mov dword [0x1029cdfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov eax, dword [0x1029cdfc]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
mov eax, dword [eax + esi]
sub eax, dword [ecx + edx]
neg eax
sbb eax, eax
add eax, 2
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x88]
jmp 0x1016d6b1
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 3
push eax
lea eax, [ebp - 0x90]
mov ecx, 0x10299030
push eax
call fcn.100b0350
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
add ecx, 0xc
cmp eax, dword [ecx + 8]
je 0x1016d161
mov dword [eax], esi
add dword [ecx + 4], 4
jmp 0x1016d16e
lea edx, [ebp - 0x14]
push edx
push eax
call fcn.1014de10
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov eax, dword [0x1029ce04]
cmp eax, dword [edi + 4]
jle 0x1016d1c9
push 0x1029ce04
call fcn.1016f60a
mov eax, dword [0x1029ce04]
add esp, 4
cmp eax, 0xffffffff
jne 0x1016d1c9
push str.m_iTeamNum
push str.CBaseEntity
mov dword [ebp - 4], 7
call fcn.1016e290
push 0x1029ce04
mov dword [0x1029cdfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
mov eax, dword [0x1029ce04]
add esp, 4
mov ecx, dword [0x1029cdfc]
mov dword [ebp - 0x18], ecx
mov ecx, dword [0x10299020]
mov dword [ebp - 0x24], ecx
cmp eax, dword [edi + 4]
jle 0x1016d228
push 0x1029ce04
call fcn.1016f60a
add esp, 4
cmp dword [0x1029ce04], 0xffffffff
jne 0x1016d228
push str.m_iTeamNum
push str.CBaseEntity
mov dword [ebp - 4], 8
call fcn.1016e290
push 0x1029ce04
mov dword [0x1029cdfc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
mov ecx, dword [eax + esi]
mov eax, dword [0x1029cdfc]
sub ecx, dword [edx + eax]
lea eax, [ebp - 0x38]
neg ecx
push eax
sbb ecx, ecx
lea eax, [ebp - 0x98]
add ecx, 5
mov dword [ebp - 0x38], ecx
jmp 0x1016d6b1
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x1029cea0]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov edi, eax
mov ecx, edi
call fcn.1016f160
test al, al
je 0x1016d28e
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 7
push eax
lea eax, [ebp - 0xa0]
jmp 0x1016d6b1
mov ecx, edi
call fcn.1016f080
test al, al
je 0x1016d2af
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 6
push eax
lea eax, [ebp - 0xa8]
jmp 0x1016d6b1
mov ecx, edi
call fcn.1016f1e0
test al, al
je case.0x1016d3b9.263
lea eax, [ebp - 0x44]
mov dword [ebp - 0x44], 0xc
push eax
lea eax, [ebp - 0xb0]
jmp 0x1016d6b1
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 7
push eax
lea eax, [ebp - 0xb8]
jmp 0x1016d6b1
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0xb
push eax
lea eax, [ebp - 0xc0]
jmp 0x1016d6b1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [0x1029d470]
cmp eax, dword [ecx + 4]
jle 0x1016d355
push 0x1029d470
call fcn.1016f60a
add esp, 4
cmp dword [0x1029d470], 0xffffffff
jne 0x1016d355
push str.m_hTargetPlayer
push str.CHalloweenGiftPickup
mov dword [ebp - 4], 0xe
call fcn.1016e290
push 0x1029d470
mov dword [0x1029d474], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov eax, dword [0x1029d474]
mov ecx, dword [0x1029cea4]
mov edx, dword [eax + esi]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
cmp eax, dword [0x10299020]
jne case.0x1016d3b9.263
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0xd
push eax
lea eax, [ebp - 0xc8]
jmp 0x1016d6b1
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], 0x10
push eax
lea eax, [ebp - 0xd0]
jmp 0x1016d6b1
lea eax, [edi - 0xfe]
cmp eax, 0x64
ja case.0x1016d3b9.263
movzx eax, byte [eax + 0x1016d840]
jmp dword [eax*4 + 0x1016d830]
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 8
push eax
lea eax, [ebp - 0xd8]
mov ecx, 0x10299030
push eax
call fcn.100b0350
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
add ecx, 0xc
cmp eax, dword [ecx + 8]
je 0x1016d3f1
mov dword [eax], esi
add dword [ecx + 4], 4
jmp 0x1016d3fe
lea edx, [ebp - 0x14]
push edx
push eax
call fcn.1014de10
mov esi, dword [ebp - 0x14]
cmp edi, 0xd9
jne 0x1016d574
mov edi, dword [ebp - 0x1c]
mov eax, dword [0x1029ce6c]
cmp eax, dword [edi + 4]
jle 0x1016d45f
push 0x1029ce6c
call fcn.1016f60a
add esp, 4
cmp dword [0x1029ce6c], 0xffffffff
jne 0x1016d45f
push str.m_iType
push str.CTFGrenadePipebombProjectile
mov dword [ebp - 4], 9
call fcn.1016e290
push 0x1029ce6c
mov dword [0x1029ce74], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov eax, dword [0x1029ce74]
cmp dword [eax + esi], 2
je 0x1016d477
cmp byte [esi + 0x908], 0
je case.0x1016d3b9.263
mov eax, dword [0x1029ce70]
cmp eax, dword [edi + 4]
jle 0x1016d4c9
push 0x1029ce70
call fcn.1016f60a
add esp, 4
cmp dword [0x1029ce70], 0xffffffff
jne 0x1016d4c9
push str.m_hThrower
push str.CBaseGrenade
mov dword [ebp - 4], 0xa
call fcn.1016e290
push 0x1029ce70
mov dword [0x1029ce68], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov eax, dword [0x1029ce68]
mov ecx, dword [0x1029cea4]
mov edx, dword [eax + esi]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [0x1029d160]
mov dword [ebp - 0x18], eax
cmp ecx, dword [edi + 4]
jle 0x1016d535
push 0x1029d160
call fcn.1016f60a
add esp, 4
cmp dword [0x1029d160], 0xffffffff
jne 0x1016d535
push str.m_hOwnerEntity
push str.CBaseEntity
mov dword [ebp - 4], 0xb
call fcn.1016e290
push 0x1029d160
mov dword [0x1029d164], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov eax, dword [0x1029d164]
mov ecx, dword [0x1029cea4]
mov edx, dword [eax + esi]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [0x10299020]
cmp dword [ebp - 0x18], ecx
je 0x1016d55e
cmp eax, ecx
jne case.0x1016d3b9.263
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0xe
push eax
lea eax, [ebp - 0xe0]
jmp 0x1016d6b1
cmp edi, 0x101
jne case.0x1016d3b9.263
mov ecx, dword [0x10299020]
push 1
call fcn.100b8eb0
mov edi, dword [ebp - 0x1c]
mov ecx, dword [0x1029d160]
mov dword [ebp - 0x24], eax
cmp ecx, dword [edi + 4]
jle 0x1016d5e6
push 0x1029d160
call fcn.1016f60a
add esp, 4
cmp dword [0x1029d160], 0xffffffff
jne 0x1016d5e6
push str.m_hOwnerEntity
push str.CBaseEntity
mov dword [ebp - 4], 0xc
call fcn.1016e290
push 0x1029d160
mov dword [0x1029d164], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov eax, dword [0x1029d164]
mov ecx, dword [0x1029cea4]
mov edx, dword [eax + esi]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
cmp dword [ebp - 0x24], 0
mov edx, eax
mov dword [ebp - 0x20], edx
je case.0x1016d3b9.263
mov ecx, dword [0x1029cea8]
cmp ecx, dword [edi + 4]
jle 0x1016d661
push 0x1029cea8
call fcn.1016f60a
add esp, 4
cmp dword [0x1029cea8], 0xffffffff
jne 0x1016d65e
push str.m_iItemDefinitionIndex
push str.CEconEntity
mov dword [ebp - 4], 0xd
call fcn.1016e290
push 0x1029cea8
mov dword [0x1029ceb8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1016f5b9
add esp, 4
mov edx, dword [ebp - 0x20]
mov eax, dword [0x1029ceb8]
mov ecx, dword [ebp - 0x24]
cmp dword [eax + ecx], 0x15f
jne case.0x1016d3b9.263
cmp edx, dword [0x10299020]
jne case.0x1016d3b9.263
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 0xf
push eax
lea eax, [ebp - 0xe8]
jmp 0x1016d6b1
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], 9
push eax
lea eax, [ebp - 0xf0]
jmp 0x1016d6b1
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0xa
push eax
lea eax, [ebp - 0xf8]
push eax
mov ecx, 0x10299030
call fcn.100b0350
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
add ecx, 0xc
cmp eax, dword [ecx + 8]
je 0x1016d6d1
mov dword [eax], esi
add dword [ecx + 4], 4
jmp case.0x1016d3b9.263
lea edx, [ebp - 0x14]
push edx
push eax
call fcn.1014de10
mov ecx, dword [0x1029cea4]
inc dword [ebp - 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [ebp - 0x28]
cmp edx, eax
jl 0x1016cd66
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret