Function at 0x10089280
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a0eb6
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x1f0
mov eax, dword [0x100c7210]
xor eax, ebp
mov dword [ebp - 0x44], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c8], ecx
movzx eax, byte [0x100c98a2]
test eax, eax
je 0x100892e8
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
push 0x100b0d30
push str._s:_pPacket__d__nPacketSize__d__dwError__d_n
push 0xc
push 0x100aa2e7
call fcn.1007f9a0
add esp, 0x1c
mov ecx, dword [ebp - 0x1c8]
add ecx, 0xc
call fcn.1001a650
push 0x20
push 0
mov ecx, dword [ebp - 0x1c8]
add ecx, 0xc
call fcn.1001a520
lea ecx, [ebp - 0x2c]
call fcn.1007e370
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x2c]
call fcn.1007e330
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x11]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1007e2c0
mov dword [ebp - 0x30], 0
movzx ecx, byte [ebp - 0x11]
mov edx, dword [ebp + 0x14]
mov dword [edx], ecx
mov dword [ebp - 0x34], 0
jmp 0x10089359
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
movzx ecx, byte [ebp - 0x11]
cmp dword [ebp - 0x34], ecx
jae 0x100899c8
lea ecx, [ebp - 0x2c]
call fcn.100059c0
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x35], 0
lea edx, [ebp - 0x35]
push edx
lea ecx, [ebp - 0x2c]
call fcn.1007e2c0
mov dword [ebp - 0x160], 0
push 1
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1007e230
mov byte [ebp - 0x37], 0xff
lea ecx, [ebp - 0x37]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.1007e2c0
mov dword [ebp - 0x158], 0
push 1
lea edx, [ebp - 0x158]
push edx
lea ecx, [ebp - 0x2c]
call fcn.1007e230
mov byte [ebp - 0x159], 0
lea eax, [ebp - 0x159]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1007e2c0
mov byte [ebp - 0x151], 0
lea ecx, [ebp - 0x151]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.1007e2c0
mov byte [ebp - 0x3d], 0
lea edx, [ebp - 0x3d]
push edx
lea ecx, [ebp - 0x2c]
call fcn.1007e2c0
mov byte [ebp - 0x150], 0
push 0x105
push 0
lea eax, [ebp - 0x14f]
push eax
call fcn.10053730
add esp, 0xc
movzx ecx, byte [ebp - 0x3d]
push ecx
lea edx, [ebp - 0x150]
push edx
lea ecx, [ebp - 0x2c]
call fcn.1007e1b0
mov byte [ebp - 0x36], 0
lea ecx, [ebp - 0x168]
call fcn.10027290
mov byte [ebp - 4], 1
mov byte [ebp - 0x161], 0
movzx esi, byte [ebp - 0x35]
lea ecx, [ebp - 0x2c]
call fcn.100059c0
sub eax, dword [ebp - 0x3c]
cmp eax, esi
jae 0x100894ad
lea eax, [ebp - 0x36]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1007e2c0
lea ecx, [ebp - 0x161]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.1007e2c0
movzx edx, byte [ebp - 0x36]
test edx, edx
jle 0x100894ad
movzx eax, byte [ebp - 0x36]
push eax
lea ecx, [ebp - 0x168]
call fcn.1000f670
movzx ecx, byte [ebp - 0x36]
push ecx
lea ecx, [ebp - 0x168]
call fcn.10015020
push eax
lea ecx, [ebp - 0x2c]
call fcn.1007e1b0
lea ecx, [ebp - 0x16c]
call fcn.10004a40
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x170], edx
jmp 0x100894d6
mov eax, dword [ebp - 0x170]
add eax, 1
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x170]
cmp edx, dword [ecx + 0xa0]
jae 0x1008959a
push 0
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c8]
lea ecx, [ecx + eax*4 + 0x20]
call fcn.10015270
movzx edx, al
test edx, edx
je 0x10089595
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c8]
lea ecx, [ecx + eax*4 + 0x20]
call fcn.10015020
mov edx, dword [eax + 0x24]
cmp edx, dword [ebp - 0x160]
jne 0x10089595
lea ecx, [ebp - 0x168]
call fcn.10015020
test eax, eax
je 0x10089572
push 4
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c8]
lea ecx, [ecx + eax*4 + 0x20]
call fcn.10015020
mov edx, dword [eax + 0x1c]
push edx
lea ecx, [ebp - 0x168]
call fcn.10015020
push eax
call fcn.100546ab
add esp, 0xc
test eax, eax
jne 0x10089595
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x1c8]
lea ecx, [ecx + eax*4 + 0x20]
call fcn.1000c380
push eax
lea ecx, [ebp - 0x16c]
call fcn.10003df0
jmp 0x1008959a
jmp 0x100894c7
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x30]
cmp eax, dword [edx + 0xa0]
jae 0x100895d1
push 0
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x1c8]
lea ecx, [edx + ecx*4 + 0x20]
call fcn.10028580
movzx eax, al
test eax, eax
je 0x100895d1
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
jmp 0x1008959a
lea ecx, [ebp - 0x16c]
call fcn.10015020
test eax, eax
je 0x100899a5
cmp dword [ebp + 0x10], 0
jne 0x10089924
mov dl, byte [ebp - 0x37]
push edx
mov ecx, dword [ebp - 0x1c8]
call fcn.100886e0
mov byte [ebp - 0x37], al
movzx eax, byte [ebp - 0x37]
mov dword [ebp - 0x1cc], eax
cmp dword [ebp - 0x1cc], 5
ja case.default.0x1008961d
mov ecx, dword [ebp - 0x1cc]
jmp dword [ecx*4 + 0x10089b2c]
jmp 0x10089769
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov byte [eax + 0x55], 0xcd
jmp 0x10089769
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov byte [eax + 0x55], 0xcc
push 3
push 2
lea ecx, [ebp - 0x1a0]
call fcn.1000d4f0
mov dword [ebp - 0x1d0], eax
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1d4], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [eax]
mov dword [ebp - 0x190], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x18c], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x188], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x184], edx
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov dword [ebp - 0x1d8], eax
push 0
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x190]
mov dword [eax], ecx
mov edx, dword [ebp - 0x18c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x188]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x184]
mov dword [eax + 0xc], edx
push 0x65
mov eax, dword [ebp - 0x1d8]
push eax
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1a0]
call fcn.1000b2d0
jmp 0x10089769
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov byte [eax + 0x55], 0xcc
movzx ecx, byte [0x100c98a2]
test ecx, ecx
je 0x10089736
push 0x100b0de0
push str.CFeatureRequestGroup::ParseResponePacket
push 0x100b0ba4
push 0x100b0e90
push 0
push 0
call fcn.1007f890
add esp, 0x18
jmp 0x10089769
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov byte [eax + 0x55], 0xcb
jmp 0x10089769
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov byte [eax + 0x55], 0xcd
jmp 0x10089769
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov byte [eax + 0x55], 0xc9
push 2
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov ecx, eax
call fcn.1008fe10
push eax
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov ecx, eax
call fcn.1008fe30
push eax
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov ecx, eax
call fcn.1008fe50
push eax
mov dl, byte [ebp - 0x37]
push edx
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov ecx, eax
call fcn.1008fed0
lea ecx, [ebp - 0x16c]
call fcn.10015020
movzx eax, byte [eax + 0x55]
cmp eax, 0xcc
jne 0x10089922
movsx ecx, byte [ebp - 0x150]
test ecx, ecx
je 0x10089922
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov ecx, eax
call fcn.10091040
movzx edx, al
test edx, edx
je 0x1008981f
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov al, byte [eax + 0x53]
and al, 1
movzx ecx, al
test ecx, ecx
je 0x1008981f
mov dword [ebp - 0x1dc], 0
jmp 0x10089829
mov dword [ebp - 0x1dc], 1
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x174], edx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x1c4]
call fcn.1001ae10
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1e4], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x1e4]
push edx
lea ecx, [ebp - 0x1c0]
call fcn.1000d570
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x1ec], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ecx]
mov dword [ebp - 0x1b0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x1ac], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x1a4], eax
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x174]
push ecx
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0x1b0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1ac]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1a8]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x1a4]
mov dword [edx + 0xc], ecx
push 0x64
mov edx, dword [ebp - 0x1f0]
push edx
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
call edx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c0]
call fcn.1000b2d0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c4]
call fcn.1000a4e0
jmp 0x10089945
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov byte [eax + 0x55], 0x65
lea ecx, [ebp - 0x16c]
call fcn.10015020
mov ecx, eax
call fcn.1008fe90
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x1c8]
add ecx, 0xc
call fcn.1001a670
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1f4]
push eax
mov ecx, dword [ebp - 0x1c8]
add ecx, 0xc
call fcn.1001b220
mov dword [ebp - 0x1f8], eax
lea ecx, [ebp - 0x16c]
call fcn.1000c380
push eax
mov ecx, dword [ebp - 0x1f8]
call fcn.10003df0
jmp 0x1008999e
mov dword [ebp - 4], 2
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x16c]
call fcn.1000bfd0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x168]
call fcn.1000f650
jmp 0x10089350
mov dword [ebp - 0x178], 0
jmp 0x100899e3
mov ecx, dword [ebp - 0x178]
add ecx, 1
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x178]
cmp eax, dword [edx + 0xa0]
jae 0x10089ae2
push 0
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x1c8]
lea ecx, [edx + ecx*4 + 0x20]
call fcn.10015270
movzx eax, al
test eax, eax
je 0x10089add
lea ecx, [ebp - 0x17c]
call fcn.10004a40
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x1c8]
lea ecx, [edx + ecx*4 + 0x20]
call fcn.1000c380
push eax
lea ecx, [ebp - 0x17c]
call fcn.10003df0
lea ecx, [ebp - 0x17c]
call fcn.10015020
mov byte [eax + 0x55], 0x64
lea ecx, [ebp - 0x17c]
call fcn.10015020
mov ecx, eax
call fcn.1008fe90
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x1c8]
add ecx, 0xc
call fcn.1001a670
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1fc]
push eax
mov ecx, dword [ebp - 0x1c8]
add ecx, 0xc
call fcn.1001b220
mov dword [ebp - 0x200], eax
lea ecx, [ebp - 0x17c]
call fcn.1000c380
push eax
mov ecx, dword [ebp - 0x200]
call fcn.10003df0
jmp 0x10089ac7
mov dword [ebp - 4], 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x17c]
call fcn.1000bfd0
jmp 0x100899d4
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x1c8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [edx + 0x18]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.1007e360
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x44]
xor ecx, ebp
call fcn.10053547
mov esp, ebp
pop ebp
ret 0x24