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

Disassembly:
sub esp, 0x498
mov eax, dword [0x10143964]
xor eax, esp
mov dword [esp + 0x494], eax
mov ecx, dword [esp + 0x4a8]
mov edx, dword [esp + 0x4ac]
mov eax, dword [esp + 0x4b8]
push ebx
push ebp
mov ebp, dword [esp + 0x4ac]
push esi
mov esi, dword [esp + 0x4ac]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x4c8]
mov dword [ecx], 0
mov dword [edx], 0
test byte [ebp], 0x80
mov dword [esp + 0x54], eax
movzx eax, word [esi + 0x460]
push edi
mov edi, dword [esp + 0x4ac]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x78], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 1
mov dword [esp + 0x24], 0
mov dword [esp + 0x7c], eax
jne 0x1009b0ed
mov eax, dword [esi + 0x30]
and al, 0x7f
cmp al, 0x20
je 0x1009b0ed
mov eax, dword [edi + 0xc8]
and eax, 0x400000
or eax, 0
jne 0x1009b0ed
xor ebx, ebx
jmp 0x1009b0f2
mov ebx, 1
xor eax, eax
mov dword [esp + 0x64], ebx
xor ecx, ecx
mov dword [esp + 0x50], eax
cmp dword [esp + 0x4c0], eax
mov dword [esp + 0x88], eax
setne cl
mov dword [esp + 0x74], eax
cmp dword [ebp + 0x1a4], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x4d4]
mov dword [esp + 0x6c], ecx
je 0x1009b144
movzx eax, word [esi + 0x49c]
cmp dword [ebp + 0x340], eax
jne 0x1009b16c
mov eax, dword [esp + 0x4d4]
cmp dword [ebp + 0x1ac], 0
jne 0x1009b16c
cmp dword [ebp + 0x1bc], 0
jne 0x1009b16c
push eax
push esi
call fcn.100bc7f0
add esp, 8
test eax, eax
je 0x1009b1a2
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x3c]
cmp dword [ebp + 0x318], 0
mov edi, 1
jne 0x1009b18a
mov dword [edx], edi
cmp dword [ebp + 0x364], 0
cmova ecx, edi
mov dword [esp + 0x6c], ecx
movzx eax, word [esi + 0x49c]
test ax, ax
je 0x1009b1df
test ecx, ecx
je 0x1009b1b1
cmp dword [ebp + 0x340], eax
jne 0x1009b1b1
mov eax, dword [esp + 0x3c]
mov dword [eax], 9
jmp 0x1009c8cf
mov eax, dword [ebp + 0x1a4]
test eax, eax
je 0x1009b1df
nop dword [eax + eax]
mov cl, byte [eax]
cmp cl, 3
je 0x1009b1d5
cmp cl, 0x10
je 0x1009b1d5
mov eax, dword [eax + 0x48]
test eax, eax
jne 0x1009b1c0
jmp 0x1009b1df
mov eax, dword [eax + 0x44]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0x364]
xor edx, edx
add eax, dword [ebp + 0x318]
mov ecx, dword [ebp + 0x36c]
div ecx
mov dword [esp + 0x98], eax
mov eax, dword [esi]
test eax, eax
je 0x1009b20e
mov eax, dword [eax + 0xe0]
xor edx, edx
div ecx
jmp 0x1009b210
xor eax, eax
cmp dword [esp + 0x6c], 0
mov ecx, ebp
mov dword [esp + 0x8c], eax
jne 0x1009b4b0
mov eax, dword [ecx + 0x1bc]
test eax, eax
je 0x1009b241
nop
cmp dword [eax + 0x44], 0
je 0x1009b4b0
mov eax, dword [eax + 0x48]
test eax, eax
jne 0x1009b230
mov eax, dword [esi + 0x294]
push ecx
push esi
call eax
add esp, 8
mov ecx, ebp
test al, al
jne 0x1009b4b0
mov edi, dword [ecx + 0x194]
test edi, edi
je 0x1009b4ab
nop word [eax + eax]
mov byte [edi + 0x1bd], 0
cmp edi, dword [esi + 0x228]
je 0x1009b2b7
movzx eax, word [edi + 0x1a8]
test eax, 0x800
jne 0x1009b297
and eax, 0x201
cmp eax, 1
je 0x1009b2b7
test byte [0x1014ba78], 4
je 0x1009b47b
push 0x45
push 1
push edi
push esi
call fcn.1004d380
add esp, 0x10
jmp 0x1009b47b
mov eax, dword [esi + 0x270]
test eax, eax
je 0x1009b2d1
cmp dword [edi + 0x154], 0
jne 0x1009b2d1
push edi
push esi
call eax
add esp, 8
mov eax, dword [edi + 0x154]
cmp eax, dword [edi + 0x158]
jb 0x1009b2ff
test byte [0x1014ba78], 4
je 0x1009b47b
push 0x45
push 3
push edi
push esi
call fcn.1004d380
add esp, 0x10
jmp 0x1009b47b
test byte [0x1014ba78], 4
je 0x1009b316
push 0x45
push 4
push edi
push esi
call fcn.1004d380
add esp, 0x10
movzx eax, word [edi + 0x74]
lea ecx, [esi + 0x30]
mov esi, dword [edi + 0x94]
xor ebp, ebp
sub eax, 2
je 0x1009b33e
sub eax, 0x15
je 0x1009b339
sub eax, 0x64
jne 0x1009b341
add esi, 0xfffffff4
jmp 0x1009b341
add esi, 0xffffffcc
jmp 0x1009b341
add esi, 0xffffffe0
mov edx, dword [esp + 0x10]
xor eax, eax
push ecx
push edi
push edx
cmp byte [edx + 0x4c2], al
setne al
lea eax, [eax*4 + 0x10]
sub esi, eax
mov eax, dword [edx + 0x29c]
call eax
add esp, 0xc
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x68], ebp
mov ecx, eax
and esi, 0xfffffffc
je 0x1009b45b
nop word [eax + eax]
test ecx, ecx
je 0x1009b414
push dword [esp + 0x4d4]
lea eax, [esp + 0x6c]
push eax
push ebx
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x4e0]
push esi
push ecx
push edi
push dword [esp + 0x30]
call fcn.1009cb80
add esp, 0x24
mov ebx, eax
cmp dword [esp + 0x4c], 0
jne 0x1009b449
cmp dword [esp + 0x68], 0
jne 0x1009b450
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 0x30]
push eax
mov eax, dword [ecx + 0x29c]
push edi
push ecx
call eax
add esp, 0xc
add ebp, ebx
mov ecx, eax
cmp esi, ebx
jb 0x1009b3e9
sub esi, ebx
jmp 0x1009b3eb
xor esi, esi
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp byte [ebx + 0x4c2], al
setne al
lea eax, [eax*4 + 0x10]
cmp esi, eax
jb 0x1009b45f
mov ebx, dword [esp + 0x64]
sub esi, eax
and esi, 0xfffffffc
ja 0x1009b380
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
lea eax, [ebx + 0x30]
push eax
mov eax, dword [ebx + 0x2a4]
push edi
push ebx
call eax
add esp, 0xc
test ebp, ebp
jne 0x1009b473
cmp byte [ebx + 0x4dd], 0
jne 0x1009b465
cmp edi, dword [ebx + 0x224]
jne 0x1009b473
mov ecx, 0x1014b8e8
jmp 0x1009b46a
cmp dword [esp + 0x68], 0
je 0x1009b414
mov esi, 1
mov dword [esp + 0x24], esi
jmp 0x1009b418
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
jmp 0x1009b41c
mov ecx, 0x1014b8ec
mov eax, 1
lock xadd dword [ecx], eax
test esi, esi
jne 0x1009b498
mov esi, dword [esp + 0x10]
mov edi, dword [edi]
mov ebx, dword [esp + 0x64]
test edi, edi
jne 0x1009b270
mov ebx, dword [esp + 0x10]
mov edi, 1
mov ecx, dword [esp + 0x18]
jmp 0x1009b4b2
mov ecx, dword [esp + 0x18]
mov edi, 1
mov dword [esp + 0x6c], 1
jmp 0x1009b4b2
mov edi, 1
mov ebx, esi
mov edx, dword [ecx + 0x1a4]
test edx, edx
jne 0x1009b4db
cmp dword [ecx + 0x1ac], edx
jne 0x1009b4db
cmp dword [ecx + 0x1bc], edx
jne 0x1009b4db
mov eax, dword [esp + 0x3c]
mov dword [eax], 8
jmp 0x1009c8cf
cmp byte [ecx + 0x4ad], 0
jbe 0x1009b50a
mov eax, dword [ecx + 0x1fc]
test eax, eax
je 0x1009b4f8
mov esi, dword [eax]
mov dword [esp + 0x4c], esi
test esi, esi
jne 0x1009b502
mov esi, dword [ecx + 0x194]
mov dword [esp + 0x4c], esi
mov dword [ecx + 0x1fc], esi
jmp 0x1009b514
mov esi, dword [ecx + 0x194]
mov dword [esp + 0x4c], esi
test edx, edx
je 0x1009b547
cmp dword [edx + 0x44], 0
jne 0x1009b540
mov eax, dword [ecx + 0x1f8]
test eax, eax
jne 0x1009b52e
mov eax, dword [ecx + 0x1f4]
mov dword [edx + 0x44], eax
mov ecx, edi
add eax, 0x150
lock xadd dword [eax], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [edx + 0x48]
test edx, edx
jne 0x1009b518
xor edx, edx
mov dword [esp + 0xa0], 0x1014b744
mov dword [esp + 0x60], edx
mov edi, 0x200
nop dword [eax]
mov dword [esp + 0x2c], esi
mov ebp, esi
test esi, esi
je 0x1009c863
nop
test edx, edx
je 0x1009b57c
cmp edx, ebp
je 0x1009c886
cmp dword [ecx + 0x1a4], 0
mov dword [esp + 0x94], 0xa
jne 0x1009b5ab
cmp dword [ecx + 0x1ac], 0
jne 0x1009b5ab
mov eax, dword [ebp + 0x154]
cmp eax, dword [ebp + 0x158]
jae 0x1009c850
mov ax, word [ebp + 0x1a8]
xor edx, edx
and ax, di
mov dword [esp + 0x64], 0
mov edi, dword [ebp + 0x94]
movzx eax, ax
mov dword [esp + 0x9c], eax
movzx eax, word [ebp + 0x74]
mov dword [esp + 0x14], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], 1
mov dword [esp + 0x68], edx
mov dword [esp + 0x1c], edi
sub eax, 2
je 0x1009b614
sub eax, 0x15
je 0x1009b60f
sub eax, 0x64
jne 0x1009b61b
add edi, 0xfffffff4
jmp 0x1009b617
add edi, 0xffffffcc
jmp 0x1009b617
add edi, 0xffffffe0
mov dword [esp + 0x1c], edi
mov esi, dword [ecx + 0x318]
xor eax, eax
mov dword [esp + 0x90], edi
mov dword [esp + 0x44], eax
cmp edi, esi
jbe 0x1009b64e
mov eax, dword [ecx + 0x364]
xor ebx, ebx
cmp ebx, eax
sbb ebx, ebx
inc ebx
test eax, eax
mov dword [esp + 0x68], ebx
cmove esi, edi
mov dword [esp + 0x70], esi
jmp 0x1009b652
mov dword [esp + 0x70], edi
mov ebx, dword [ecx + 0x1ac]
xor eax, eax
mov dword [esp + 0x40], eax
test ebx, ebx
je 0x1009ba52
cmp byte [ebx], 0xc1
mov esi, dword [ebx + 0x48]
mov dword [esp + 0x24], esi
jne 0x1009ba48
mov eax, dword [ebx + 0x44]
test eax, eax
jne 0x1009b68f
mov eax, dword [ecx + 0x1f8]
test eax, eax
jne 0x1009b68f
cmp dword [ecx + 0x1f4], ebp
jmp 0x1009b691
cmp eax, ebp
jne 0x1009ba52
cmp dword [ebx + 0x3c], 0
je 0x1009ba52
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x1009b6b1
cmp eax, 4
jne 0x1009ba52
test edx, edx
jne 0x1009b6df
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x43c]
test eax, eax
je 0x1009b6df
cmp byte [eax + 0xc1], dl
je 0x1009b6df
movzx eax, word [ecx + 0x478]
push eax
call fcn.100c4000
add esp, 4
mov ebp, eax
jmp 0x1009b6e1
xor ebp, ebp
mov ecx, dword [esp + 0x1c]
movzx edx, word [ebx + 0x58]
sub ecx, ebp
mov edi, edx
cmp edx, ecx
jl 0x1009b700
mov eax, 0x100
test word [ebx + 0x56], ax
je 0x1009ba38
cmp dword [esp + 0x20], 0
mov ecx, edx
jne 0x1009b71d
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x43c]
test esi, esi
jne 0x1009b778
mov ecx, edi
mov esi, dword [esp + 0x24]
mov edi, 1
movzx eax, byte [ebx + 0x65]
push eax
movzx eax, cx
push eax
movzx eax, byte [ebx + 1]
push eax
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x24]
push dword [ebx + 0x3c]
call fcn.10097690
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
je 0x1009c8ea
mov ecx, edi
mov eax, 0x1014b740
lock xadd dword [eax], ecx
movzx ecx, word [ebx + 0x58]
mov edi, dword [esp + 0x1c]
lea edx, [ecx + ebp]
cmp edi, edx
jbe 0x1009b8a3
lea eax, [ecx + ebp]
sub edi, eax
jmp 0x1009b8a5
movzx eax, byte [ebx]
mov ecx, edx
cmp byte [eax + esi], 0
je 0x1009b719
mov edi, dword [esp + 0x10]
cmp byte [edi + 0x4bd], 0
je 0x1009b886
push 1
push 1
push 1
push 0
push 8
call fcn.100aec90
mov esi, eax
add esp, 0x14
test esi, esi
je 0x1009b886
cmp dword [esp + 0x14], 0
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
jne 0x1009b7c8
add eax, 0x34
mov dword [esp + 0x20], eax
mov dword [esi + 8], eax
xorps xmm0, xmm0
movq qword [eax], xmm0
mov byte [eax], 0xf
movzx eax, word [edi + 0x478]
push eax
call fcn.100c4020
add esp, 4
lea edi, [eax + 8]
push edi
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [esp + 0x20]
mov word [ecx + 2], ax
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x478]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [esp + 0x20]
xor edx, edx
mov word [ecx + 6], ax
mov ecx, dword [esp + 0x14]
mov eax, ecx
test ecx, ecx
je 0x1009b864
nop word [eax + eax]
add edx, dword [eax + 0xc]
mov eax, dword [eax]
test eax, eax
jne 0x1009b820
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], edx
mov dword [esi + 0xc], edi
test eax, eax
je 0x1009b83c
mov dword [eax], esi
jmp 0x1009b850
mov dword [esp + 0x30], edx
mov eax, dword [ecx]
test eax, eax
je 0x1009b84a
mov ecx, eax
jmp 0x1009b840
mov dword [ecx], esi
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
test eax, eax
je 0x1009b85a
mov esi, eax
jmp 0x1009b850
mov dword [esp + 0x34], esi
mov dword [esp + 0x14], ecx
jmp 0x1009b886
mov dword [esi + 0xc], edi
mov ecx, esi
nop dword [eax]
mov eax, dword [ecx]
test eax, eax
je 0x1009b87a
mov ecx, eax
jmp 0x1009b870
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], edx
mov edi, 1
mov ecx, 0x1014b740
mov eax, edi
lock xadd dword [ecx], eax
movzx ecx, word [ebx + 0x58]
mov esi, dword [esp + 0x24]
jmp 0x1009b722
xor edi, edi
add dword [esp + 0x44], edx
mov eax, 0x100
test word [ebx + 0x56], ax
mov eax, 0
mov ecx, dword [esp + 0x38]
cmovne ecx, eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], ecx
cmp byte [ebx + 1], al
je 0x1009b8ce
mov dword [ebx + 0x3c], eax
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x54], 1
mov dword [esp + 0x88], 1
mov dword [esp + 0x6c], 1
mov dword [ebx + 0x50], 1
cmp dword [ebx + 0x44], eax
jne 0x1009b90b
mov dword [ebx + 0x44], ebp
lea eax, [ebp + 0x150]
mov ecx, 1
lock xadd dword [eax], ecx
inc word [ebx + 0x54]
test edi, edi
jne 0x1009ba40
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x48]
push ebp
push ebx
push edi
push 0xa
call fcn.100ad900
mov eax, dword [esp + 0x68]
add esp, 0x10
cmp dword [eax], 0
jne 0x1009b94b
push dword [esp + 0x5c]
call fcn.100c0d10
mov eax, dword [esp + 0x5c]
add esp, 4
mov dword [eax], 1
mov ecx, dword [esp + 0x5c]
push dword [esp + 0x4d4]
mov dword [esp + 0x58], 0
push 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp + 0xf8], eax
movzx eax, word [ebp + 0x1b0]
push eax
mov dword [ebp + 0xfc], ecx
push dword [ebx + 0x2d8]
call dword [sym.imp.WS2_32.dll_htonl]
push eax
movzx eax, word [ebx + 0x580]
push eax
movzx eax, word [edi + 0x3a]
push eax
movzx eax, word [ebx + 0x460]
push 1
push 0
push dword [esp + 0x58]
push eax
push dword [esp + 0x48]
lea eax, [ebp + 0x74]
push dword [esp + 0x5c]
push dword [esp + 0x44]
push eax
push ebp
push ebx
push edi
call fcn.1009a250
mov ecx, eax
add esp, 0x44
mov dword [esp + 0x40], ecx
test ecx, ecx
jne 0x1009babb
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], edx
mov byte [eax + 0x4a5], cl
cmp dword [esp + 0x74], edx
jne 0x1009b9f4
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x28]
add dword [ecx], eax
movzx eax, word [ebp + 0x74]
mov edi, dword [ebp + 0x94]
mov dword [esp + 0x1c], edi
sub eax, 2
je 0x1009ba1b
sub eax, 0x15
je 0x1009ba16
sub eax, 0x64
jne 0x1009ba22
add edi, 0xfffffff4
jmp 0x1009ba1e
add edi, 0xffffffcc
jmp 0x1009ba1e
add edi, 0xffffffe0
mov dword [esp + 0x1c], edi
xor eax, eax
mov dword [esp + 0x38], 1
xor ecx, ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], ecx
jmp 0x1009ba44
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov ebx, esi
test esi, esi
jne 0x1009b666
mov ebx, dword [ecx + 0x1a4]
test ebx, ebx
je 0x1009c09e
cmp dword [esp + 0x80], 0
mov esi, dword [ebx + 0x48]
mov dword [esp + 0x24], esi
je 0x1009ba97
cmp byte [ebx], 0xc
jne 0x1009ba97
mov eax, dword [ebx + 0x44]
cmp eax, dword [esp + 0x80]
je 0x1009ba97
cmp eax, ebp
je 0x1009bf98
cmp dword [esp + 0x80], ebp
je 0x1009bb4a
mov eax, dword [ebx + 0x44]
test eax, eax
jne 0x1009bb42
mov eax, dword [ecx + 0x1f8]
test eax, eax
jne 0x1009bb42
cmp dword [ecx + 0x1f4], ebp
jmp 0x1009bb44
test byte [0x1014bac8], 0x40
je 0x1009badc
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x1009badc
push ecx
push str.Gak_send_error__d_n
call eax
mov ecx, dword [esp + 0x48]
add esp, 8
cmp dword [esp + 0x4c4], 0
mov edx, 1
jne 0x1009baf6
mov eax, edx
mov esi, 0x1014b8d0
lock xadd dword [esi], eax
cmp ecx, 0x77
jne 0x1009bb20
mov ecx, dword [esp + 0x18]
mov eax, edx
mov edx, 0x1014b8cc
mov byte [ecx + 0x4a5], 1
lock xadd dword [edx], eax
mov eax, dword [esp + 0x3c]
mov dword [eax], 7
jmp 0x1009c847
cmp ecx, 0x6e
jne 0x1009bb2f
push ebp
push ebx
call fcn.1009c950
add esp, 8
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
mov dword [eax], 7
jmp 0x1009c847
cmp eax, ebp
jne 0x1009bf98
cmp dword [ebx + 0x3c], 0
je 0x1009bf98
cmp dword [ebx + 0x50], 0
jne 0x1009bf98
test edx, edx
jne 0x1009bb8d
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x43c]
test ecx, ecx
je 0x1009bb8d
movzx eax, byte [ebx]
cmp byte [eax + ecx], 0
je 0x1009bb8d
movzx eax, word [edx + 0x478]
push eax
call fcn.100c4000
add esp, 4
mov ebp, eax
jmp 0x1009bb8f
xor ebp, ebp
mov ecx, dword [esp + 0x1c]
movzx edx, word [ebx + 0x58]
sub ecx, ebp
mov edi, edx
cmp edx, ecx
jle 0x1009bbae
mov eax, 0x100
test word [ebx + 0x56], ax
je 0x1009bf8c
cmp dword [esp + 0x20], 0
mov ecx, edx
jne 0x1009bbcb
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x43c]
test esi, esi
jne 0x1009bc25
mov ecx, edi
mov esi, dword [esp + 0x24]
mov edi, 0x1014b740
movzx eax, byte [ebx + 0x65]
push eax
movzx eax, cx
push eax
movzx eax, byte [ebx + 1]
push eax
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x24]
push dword [ebx + 0x3c]
call fcn.10097690
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
je 0x1009c8ea
mov edx, 1
mov eax, edx
lock xadd dword [edi], eax
movzx eax, word [ebx + 0x58]
mov edi, dword [esp + 0x1c]
lea ecx, [eax + ebp]
cmp edi, ecx
jbe 0x1009bd41
add eax, ebp
sub edi, eax
jmp 0x1009bd43
movzx eax, byte [ebx]
mov ecx, edx
cmp byte [eax + esi], 0
je 0x1009bbc7
mov edi, dword [esp + 0x10]
cmp byte [edi + 0x4bd], 0
je 0x1009bd26
push 1
push 1
push 1
push 0
push 8
call fcn.100aec90
mov esi, eax
add esp, 0x14
test esi, esi
je 0x1009bd26
cmp dword [esp + 0x14], 0
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
jne 0x1009bc75
add eax, 0x34
mov dword [esp + 0x20], eax
mov dword [esi + 8], eax
xorps xmm0, xmm0
movq qword [eax], xmm0
mov byte [eax], 0xf
movzx eax, word [edi + 0x478]
push eax
call fcn.100c4020
add esp, 4
lea edi, [eax + 8]
push edi
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [esp + 0x20]
mov word [ecx + 2], ax
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x478]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [esp + 0x20]
xor edx, edx
mov word [ecx + 6], ax
mov ecx, dword [esp + 0x14]
mov eax, ecx
test ecx, ecx
je 0x1009bd0b
add edx, dword [eax + 0xc]
mov eax, dword [eax]
test eax, eax
jne 0x1009bcc7
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], edx
mov dword [esi + 0xc], edi
test eax, eax
je 0x1009bce3
mov dword [eax], esi
jmp 0x1009bcf7
mov dword [esp + 0x30], edx
mov eax, dword [ecx]
test eax, eax
je 0x1009bcf1
mov ecx, eax
jmp 0x1009bce7
mov dword [ecx], esi
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
test eax, eax
je 0x1009bd01
mov esi, eax
jmp 0x1009bcf7
mov dword [esp + 0x34], esi
mov dword [esp + 0x14], ecx
jmp 0x1009bd26
mov dword [esi + 0xc], edi
mov ecx, esi
mov eax, dword [ecx]
test eax, eax
je 0x1009bd1a
mov ecx, eax
jmp 0x1009bd10
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], edx
mov eax, 1
mov edi, 0x1014b740
lock xadd dword [edi], eax
movzx ecx, word [ebx + 0x58]
mov esi, dword [esp + 0x24]
jmp 0x1009bbd0
xor edi, edi
add dword [esp + 0x44], ecx
mov eax, 0x100
test word [ebx + 0x56], ax
mov ecx, 0
mov eax, dword [esp + 0x38]
cmovne eax, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], eax
cmp byte [ebx + 1], cl
je 0x1009bd6c
mov dword [ebx + 0x3c], ecx
mov al, byte [ebx]
cmp al, 3
je 0x1009bf32
cmp al, 0x10
je 0x1009bf32
cmp al, 4
je 0x1009bf29
cmp al, 5
je 0x1009bde2
cmp al, 7
je 0x1009bde2
cmp al, 8
je 0x1009bde2
cmp al, 9
je 0x1009bde2
cmp al, 0xb
je 0x1009bde2
cmp al, 0xd
je 0x1009bde2
cmp al, 0x81
je 0x1009bde2
cmp al, 0x80
je 0x1009bde2
cmp al, 0xa
jne 0x1009bdb4
mov dword [esp + 0x50], edx
mov dword [esp + 0x74], edx
jmp 0x1009bdc3
cmp al, 0xc
jne 0x1009bdc3
mov eax, edx
mov ecx, 0x1014b7d0
lock xadd dword [ecx], eax
cmp dword [ebx + 0x44], 0
mov dword [ebx + 0x50], edx
jne 0x1009bdde
mov eax, dword [esp + 0x2c]
mov ecx, edx
mov dword [ebx + 0x44], eax
add eax, 0x150
lock xadd dword [eax], ecx
inc word [ebx + 0x54]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x28], eax
test edi, edi
jne 0x1009bf86
mov edi, dword [esp + 0x88]
test edi, edi
je 0x1009be16
push ebp
push ebx
push dword [esp + 0x50]
push 0xa
call fcn.100ad900
add esp, 0x10
cmp dword [esp + 0x50], 0
je 0x1009be35
push ebp
push ebx
push dword [esp + 0x50]
push 6
call fcn.100ad900
add esp, 0x10
mov dword [esp + 0x50], 0
cmp dword [esp + 0x54], 0
je 0x1009be78
mov eax, dword [esp + 0x58]
cmp dword [eax], 0
jne 0x1009be5b
push dword [esp + 0x5c]
call fcn.100c0d10
mov eax, dword [esp + 0x5c]
add esp, 4
mov dword [eax], 1
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x54], 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp + 0xf8], eax
mov dword [ebp + 0xfc], ecx
push dword [esp + 0x4d4]
movzx eax, word [ebp + 0x1b0]
push 0
push eax
push dword [ebx + 0x2d8]
call dword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [esp + 0x54]
push eax
movzx eax, word [ebx + 0x580]
push eax
movzx eax, word [ecx + 0x3a]
push eax
movzx eax, word [ebx + 0x460]
push edi
push 0
push dword [esp + 0x58]
push eax
push dword [esp + 0x48]
lea eax, [ebp + 0x74]
push dword [esp + 0x5c]
push dword [esp + 0x44]
push eax
push ebp
push ebx
push ecx
call fcn.1009a250
mov ecx, eax
add esp, 0x44
mov dword [esp + 0x40], ecx
test ecx, ecx
jne 0x1009bfb3
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], edx
mov byte [eax + 0x4a5], cl
cmp dword [esp + 0x74], edx
jne 0x1009bf07
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x28]
add dword [ecx], eax
movzx eax, word [ebp + 0x74]
mov edi, dword [ebp + 0x94]
mov dword [esp + 0x1c], edi
sub eax, 2
je 0x1009bf63
sub eax, 0x15
je 0x1009bf5e
sub eax, 0x64
jne 0x1009bf6a
add edi, 0xfffffff4
jmp 0x1009bf66
mov dword [esp + 0x54], edx
jmp 0x1009bde2
mov ebx, dword [esp + 0x10]
test byte [ebx + 0x94], 4
je 0x1009bde6
push 0x90000001
push 0
push ebx
push dword [esp + 0x54]
push 3
call fcn.100ade50
add esp, 0x14
jmp 0x1009bde6
add edi, 0xffffffcc
jmp 0x1009bf66
add edi, 0xffffffe0
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], ecx
jmp 0x1009bfa0
mov edx, dword [esp + 0x20]
jmp 0x1009bf9c
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov ebx, esi
test esi, esi
je 0x1009c04a
mov ecx, dword [esp + 0x18]
jmp 0x1009ba60
test byte [0x1014bac8], 0x40
je 0x1009bfd4
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x1009bfd4
push ecx
push str.Gak_send_error__d_n
call eax
mov ecx, dword [esp + 0x48]
add esp, 8
cmp dword [esp + 0x4c4], 0
mov edx, 1
jne 0x1009bfee
mov eax, edx
mov esi, 0x1014b8d0
lock xadd dword [esi], eax
cmp ecx, 0x77
jne 0x1009c020
mov ecx, dword [esp + 0x18]
mov eax, edx
mov edx, 0x1014b8cc
mov byte [ecx + 0x4a5], 1
lock xadd dword [edx], eax
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x28], edi
mov dword [eax], 7
jmp 0x1009c847
cmp ecx, 0x6e
jne 0x1009c02f
push ebp
push ebx
call fcn.1009c950
add esp, 8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], edi
mov dword [eax], 7
jmp 0x1009c847
cmp dword [esp + 0x40], 0
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x44], eax
je 0x1009c0a2
mov ebx, dword [esp + 0x10]
jmp 0x1009c847
mov ebx, dword [esp + 0x50]
mov cl, byte [ecx + 0x4ad]
mov edx, dword [esp + 0x10]
test cl, cl
je 0x1009c0ca
cmp ebp, dword [edx + 0x228]
je 0x1009c0ca
mov eax, 0x800
test word [ebp + 0x1a8], ax
jne 0x1009c5e5
mov eax, dword [ebp + 0x154]
cmp eax, dword [ebp + 0x158]
jae 0x1009c5e5
test cl, cl
je 0x1009c112
test byte [0x1014bab8], 2
je 0x1009c0f6
cmp eax, dword [esp + 0x98]
ja 0x1009c5e5
test byte [0x1014bab8], 1
je 0x1009c112
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x1009c112
cmp eax, ecx
ja 0x1009c5e5
mov eax, dword [edx + 0x43c]
test eax, eax
jne 0x1009c124
xor edi, edi
mov dword [esp + 0x40], edi
jmp 0x1009c15a
mov al, byte [eax]
xor ecx, ecx
test al, al
setne cl
mov dword [esp + 0x40], ecx
test al, al
je 0x1009c156
cmp dword [esp + 0x20], 0
jne 0x1009c156
movzx eax, word [edx + 0x478]
push eax
call fcn.100c4000
mov edx, dword [esp + 0x14]
add esp, 4
sub edi, eax
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x40]
movzx eax, word [ebp + 0x74]
sub eax, 2
je 0x1009c199
sub eax, 0x15
je 0x1009c183
sub eax, 0x64
jne 0x1009c1a9
mov eax, dword [ebp + 0x94]
mov esi, 0xc
cmp esi, eax
sbb esi, esi
lea ecx, [eax - 0xc]
and esi, ecx
jmp 0x1009c1ab
mov eax, dword [ebp + 0x94]
mov esi, 0x34
cmp esi, eax
sbb esi, esi
lea ecx, [eax - 0x34]
and esi, ecx
jmp 0x1009c1ab
mov eax, dword [ebp + 0x94]
cmp eax, 0x20
jbe 0x1009c1a9
lea esi, [eax - 0x20]
jmp 0x1009c1ab
xor esi, esi
mov eax, dword [edx + 0x30]
and eax, 0x7f
mov dword [esp + 0x24], esi
cmp eax, 8
je 0x1009c1bf
cmp eax, 0x20
jne 0x1009c1ca
cmp word [esp + 0x9c], 0
je 0x1009c1d2
test ebx, ebx
je 0x1009c5e5
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x1bc]
test ebx, ebx
je 0x1009c5e5
nop dword [eax]
nop dword [eax + eax]
cmp dword [esp + 0x6c], 0
mov ebp, dword [ebx + 0x48]
jne 0x1009c5d7
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x154]
cmp eax, dword [edx + 0x158]
jae 0x1009c5cb
mov ecx, dword [ebx + 0x44]
test ecx, ecx
je 0x1009c223
cmp ecx, edx
jne 0x1009c585
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x4ad], 0
jne 0x1009c262
mov eax, dword [eax + 0x1f8]
test eax, eax
je 0x1009c246
cmp eax, edx
je 0x1009c246
test ecx, ecx
je 0x1009c585
mov edi, dword [esp + 0x18]
cmp edx, dword [edi + 0x1f4]
mov edi, dword [esp + 0x40]
je 0x1009c262
test eax, eax
jne 0x1009c262
test ecx, ecx
je 0x1009c585
movzx edx, word [ebx + 0x58]
cmp edx, esi
jbe 0x1009c29b
movzx eax, word [ebx + 0x56]
test eax, 0x100
jne 0x1009c29b
mov ecx, dword [0x1014bb1c]
test ecx, ecx
je 0x1009c292
push dword [esp + 0x1c]
push edx
push str.Warning_chunk_of__d_bytes___mtu:_d_and_yet_PMTU_disc_missed_n
call ecx
movzx eax, word [ebx + 0x56]
add esp, 0xc
or eax, 0x100
mov word [ebx + 0x56], ax
cmp dword [0x1014bab0], 0
mov ecx, dword [esp + 0x18]
je 0x1009c2b7
test byte [ecx], 0x80
je 0x1009c2b7
mov eax, dword [ebx + 0x3c]
mov eax, dword [eax + 8]
or byte [eax + 1], 8
movzx edx, word [ebx + 0x58]
mov eax, edx
cmp eax, dword [esp + 0x1c]
ja 0x1009c2c9
cmp eax, dword [esp + 0x70]
jbe 0x1009c2e8
mov esi, 0x100
test word [ebx + 0x56], si
mov esi, dword [esp + 0x24]
je 0x1009c5e1
cmp eax, dword [ecx + 0x318]
ja 0x1009c5e1
mov ecx, edx
test edi, edi
je 0x1009c471
cmp dword [esp + 0x20], 0
jne 0x1009c445
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x4bd], 0
je 0x1009c41e
mov eax, dword [eax + 0x43c]
test eax, eax
je 0x1009c41e
cmp byte [eax], 0
je 0x1009c41e
push 1
push 1
push 1
push 0
push 8
call fcn.100aec90
mov esi, eax
add esp, 0x14
test esi, esi
je 0x1009c41a
cmp dword [esp + 0x14], 0
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
jne 0x1009c359
add eax, 0x34
mov dword [esp + 0x20], eax
mov dword [esi + 8], eax
xorps xmm0, xmm0
movq qword [eax], xmm0
mov byte [eax], 0xf
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x478]
push eax
call fcn.100c4020
add esp, 4
lea edi, [eax + 8]
push edi
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [esp + 0x20]
mov word [ecx + 2], ax
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x478]
push ecx
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [esp + 0x20]
xor edx, edx
mov word [ecx + 6], ax
mov ecx, dword [esp + 0x14]
mov eax, ecx
test ecx, ecx
je 0x1009c3f4
nop
add edx, dword [eax + 0xc]
mov eax, dword [eax]
test eax, eax
jne 0x1009c3b0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], edx
mov dword [esi + 0xc], edi
test eax, eax
je 0x1009c3cc
mov dword [eax], esi
jmp 0x1009c3e0
mov dword [esp + 0x30], edx
mov eax, dword [ecx]
test eax, eax
je 0x1009c3da
mov ecx, eax
jmp 0x1009c3d0
mov dword [ecx], esi
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
test eax, eax
je 0x1009c3ea
mov esi, eax
jmp 0x1009c3e0
mov dword [esp + 0x34], esi
mov dword [esp + 0x14], ecx
jmp 0x1009c416
mov dword [esi + 0xc], edi
mov ecx, esi
nop dword [eax]
mov eax, dword [ecx]
test eax, eax
je 0x1009c40a
mov ecx, eax
jmp 0x1009c400
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], edx
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x24]
movzx eax, word [ebx + 0x5e]
mov ecx, 0x1014b740
mov dword [esp + 0x7c], eax
mov eax, 1
mov dword [esp + 0x84], 0
lock xadd dword [ecx], eax
movzx ecx, word [ebx + 0x58]
jmp 0x1009c471
cmp dword [esp + 0x84], 0
mov ecx, edx
movzx eax, word [ebx + 0x5e]
je 0x1009c466
mov dword [esp + 0x7c], eax
mov dword [esp + 0x84], 0
jmp 0x1009c471
cmp word [esp + 0x7c], ax
jne 0x1009c5e1
movzx eax, byte [ebx + 0x65]
push eax
movzx eax, cx
push eax
push 0
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x24]
push dword [ebx + 0x3c]
call fcn.10097690
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
je 0x1009c8fb
mov edx, dword [esp + 0x38]
mov eax, 0x100
test word [ebx + 0x56], ax
mov eax, 0
mov ecx, dword [esp + 0x1c]
cmovne edx, eax
movzx eax, word [ebx + 0x58]
mov dword [esp + 0x38], edx
cmp ecx, eax
jbe 0x1009c4c9
sub ecx, eax
mov dword [esp + 0x1c], ecx
jmp 0x1009c4d1
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x70]
cmp ecx, eax
jbe 0x1009c4e1
sub ecx, eax
mov dword [esp + 0x70], ecx
jmp 0x1009c4e9
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0x44]
add ecx, eax
mov dword [esp + 0x44], ecx
cmp ecx, dword [esp + 0x90]
jbe 0x1009c51b
test edx, edx
je 0x1009c51b
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x1009c51b
push ecx
push dword [esp + 0x94]
push str.Exceeding_mtu_of__d_out_size_is__d_n
call eax
add esp, 0xc
mov eax, dword [esp + 0x64]
mov byte [ebx + 0x66], 0
mov dword [esp + eax*4 + 0xa4], ebx
inc eax
mov dword [esp + 0x64], eax
cmp eax, 0x100
jge 0x1009c5c1
cmp dword [ebx + 0x50], 0
jne 0x1009c570
test byte [ebx + 0x29], 4
mov edx, 1
mov eax, 0x1014b748
mov ecx, edx
cmove eax, dword [esp + 0xa0]
lock xadd dword [eax], ecx
mov al, byte [ebx + 0x29]
and al, 3
cmp al, dl
jne 0x1009c570
mov eax, edx
mov ecx, 0x1014b758
lock xadd dword [ecx], eax
cmp dword [esp + 0x1c], 0
je 0x1009c591
cmp dword [esp + 0x70], 0
je 0x1009c591
cmp dword [esp + 0x68], 0
jne 0x1009c598
mov ebx, ebp
test ebp, ebp
jne 0x1009c1f0
jmp 0x1009c5e1
cmp dword [esp + 0x68], 0
je 0x1009c5c1
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x394], 0
jne 0x1009c5c1
mov eax, dword [esp + 0xa4]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
mov byte [eax + 0x66], 1
mov byte [ebp + 0x1bd], 1
jmp 0x1009c5f1
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
jmp 0x1009c5f1
mov eax, dword [esp + 0x3c]
mov dword [eax], 2
jmp 0x1009c5e1
mov eax, dword [esp + 0x3c]
mov dword [eax], 1
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x1009c823
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x10]
test edi, edi
je 0x1009c610
push ebp
push esi
push dword [esp + 0x50]
push 0xa
call fcn.100ad900
add esp, 0x10
cmp dword [esp + 0x50], 0
je 0x1009c62d
push ebp
push esi
push dword [esp + 0x50]
push 6
call fcn.100ad900
add esp, 0x10
xor eax, eax
mov dword [esp + 0x50], eax
cmp dword [esp + 0x64], 0
je 0x1009c64f
test byte [ebp + 0xd8], 4
jne 0x1009c656
push ebp
push esi
push dword [esp + 0x50]
push 1
call fcn.100ad900
add esp, 0x10
jmp 0x1009c656
cmp dword [esp + 0x54], 0
je 0x1009c68a
mov eax, dword [esp + 0x58]
cmp dword [eax], 0
jne 0x1009c675
push dword [esp + 0x5c]
call fcn.100c0d10
mov eax, dword [esp + 0x5c]
add esp, 4
mov dword [eax], 1
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp + 0xf8], eax
mov dword [ebp + 0xfc], ecx
push dword [esp + 0x4d4]
movzx eax, word [ebp + 0x1b0]
push 0
push eax
push dword [esi + 0x2d8]
call dword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [esp + 0x54]
push eax
movzx eax, word [esi + 0x580]
push eax
movzx eax, word [ecx + 0x3a]
push eax
push edi
mov edi, dword [esp + 0x80]
lea eax, [ebp + 0x74]
push edi
push dword [esp + 0x58]
push dword [esp + 0xa0]
push dword [esp + 0x48]
push dword [esp + 0x5c]
push ebx
mov ebx, dword [esp + 0x44]
push eax
push ebp
push ebx
push ecx
call fcn.1009a250
mov esi, eax
add esp, 0x44
test esi, esi
je 0x1009c771
test byte [0x1014bac8], 0x40
je 0x1009c710
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x1009c710
push esi
push str.Gak_send_error__d_n
call eax
add esp, 8
cmp dword [esp + 0x4c4], 0
mov edx, 1
jne 0x1009c72a
mov eax, edx
mov ecx, 0x1014b8d0
lock xadd dword [ecx], eax
cmp esi, 0x77
jne 0x1009c747
mov ecx, dword [esp + 0x18]
mov eax, edx
mov edx, 0x1014b8cc
mov byte [ecx + 0x4a5], 1
lock xadd dword [edx], eax
jmp 0x1009c75a
cmp esi, 0x6e
jne 0x1009c756
push ebp
push ebx
call fcn.1009c950
add esp, 8
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], 0
mov dword [eax], 6
jmp 0x1009c847
cmp dword [esp + 0x74], 0
mov esi, dword [esp + 0x18]
mov byte [esi + 0x4a5], 0
jne 0x1009c78f
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x28]
add eax, edi
add dword [ecx], eax
test edi, edi
je 0x1009c81a
mov eax, dword [esp + 0xa4]
lea edx, [esi + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x58]
cmp dword [eax], 0
jne 0x1009c7d2
push edx
call fcn.100c0d10
mov eax, dword [esp + 0x5c]
add esp, 4
mov edx, dword [esp + 0x5c]
mov dword [eax], 1
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
jmp 0x1009c7db
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edx + 4], ecx
mov dword [edx], eax
cmp byte [ebp + 0x1c1], 0
je 0x1009c7fb
mov eax, dword [esp + 0xa4]
mov byte [eax + 0x62], 1
mov byte [ebp + 0x1c1], 0
mov eax, edi
mov ecx, 0x1014b7bc
lock xadd dword [ecx], eax
push ebp
push edi
lea eax, [esp + 0xac]
push eax
push esi
push ebx
call fcn.10097130
add esp, 0x14
cmp dword [esp + 0x68], 0
jne 0x1009c85f
jmp 0x1009c827
mov ebx, dword [esp + 0x10]
test byte [0x1014ba78], 4
je 0x1009c843
push 0x3d
push dword [esp + 0x98]
push ebp
push ebx
call fcn.1004d380
add esp, 0x10
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x60]
mov edi, 0x200
mov ebp, dword [ebp]
mov dword [esp + 0x2c], ebp
test ebp, ebp
jne 0x1009b570
mov esi, dword [esp + 0x4c]
cmp dword [esp + 0x60], 0
jne 0x1009c886
mov ecx, dword [esp + 0x18]
mov edx, esi
mov dword [esp + 0x60], esi
mov esi, dword [ecx + 0x194]
mov dword [esp + 0x4c], esi
test edx, edx
jne 0x1009b558
test byte [0x1014ba78], 4
mov esi, dword [esp + 0x78]
je 0x1009c8a1
push 0x3d
push dword [esi]
push ebp
push ebx
call fcn.1004d380
add esp, 0x10
cmp dword [esi], 0
mov ecx, dword [esp + 0x3c]
jne 0x1009c8b4
cmp dword [ecx], 0
mov eax, 4
je 0x1009c8b9
mov eax, 5
push dword [esp + 0x4d4]
mov dword [ecx], eax
push dword [esp + 0x1c]
push ebx
call fcn.10096f30
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0x4a4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100f06e3
add esp, 0x498
ret
mov eax, dword [esp + 0x3c]
mov dword [eax], 8
mov eax, 0xc
jmp 0x1009c8d1
test byte [0x1014bac8], 0x40
je 0x1009c917
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x1009c917
push str.No_memory__n
call eax
add esp, 4
mov eax, dword [esp + 0x2c]
test byte [eax + 0xd8], 4
jne 0x1009c937
push eax
push dword [esp + 0x14]
push dword [esp + 0x50]
push 1
call fcn.100ad900
add esp, 0x10
mov eax, dword [esp + 0x3c]
mov dword [eax], 3
mov eax, 0xc
jmp 0x1009c8d1