Function at 0x4a27db
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x234
mov eax, dword [0x6d9d44]
xor eax, esp
mov dword [esp + 0x230], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, edx
mov dword [esp + 0x14], eax
push esi
push edi
mov dword [esp + 0xc], ebx
mov edi, ecx
movzx eax, word [eax + ebx]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx esi, ax
mov eax, dword [esp + 0x1c]
mov edx, esi
and edx, 0x110
lea ecx, [eax + 8]
add ecx, ebx
mov dword [esp + 0x20], ecx
cmp edx, 0x10
je 0x4a2854
cmp edx, 0x110
je 0x4a2854
push ecx
push eax
mov edx, ebx
mov ecx, edi
call fcn.004a2650
pop ecx
pop ecx
test eax, eax
je 0x4a2fba
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, 0x109
cmp esi, edx
ja 0x4a2aea
je 0x4a2a95
sub esi, 0x17
je 0x4a2a00
sub esi, 0xec
je 0x4a2978
sub esi, 1
je 0x4a28ef
sub esi, 4
jne 0x4a2fba
lea eax, [esp + 0x10]
mov edx, ecx
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x18]
push eax
push 0xc
call fcn.0048b73e
add esp, 0xc
cmp dword [esp + 0x10], esi
jne 0x4a28bc
cmp dword [esp + 0x14], esi
je 0x4a28db
push esi
push 1
push edi
call dword [esp + 0x20]
add esp, 0xc
jmp 0x4a28db
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
test eax, eax
je 0x4a28d1
push dword [esi + 4]
push 1
push edi
call eax
add esp, 0xc
push 1
push esi
call fcn.005f5a60
pop ecx
pop ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.0048b76e
pop ecx
jmp 0x4a2fba
lea eax, [esp + 0x18]
mov edx, ecx
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x14]
push eax
push 0xc
call fcn.0048b73e
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x18]
add esp, 0xc
push eax
push ecx
push 0xd
push ecx
mov ecx, ebx
call fcn.004a2436
mov esi, dword [esp + 0x20]
add esp, 0x10
test esi, esi
je 0x4a2fba
cmp dword [esp + 0x18], 0
jne 0x4a2949
mov eax, dword [esp + 0xc]
push 0
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
push edi
call esi
jmp 0x4a2fb7
cmp dword [esp + 0x18], 2
jne 0x4a2fba
cmp dword [esi], 0
je 0x4a2cd2
mov eax, dword [esp + 0xc]
push dword [esi + 4]
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
push edi
call dword [esi]
add esp, 0xc
jmp 0x4a2cd2
lea ecx, [esp + 0x18]
mov edx, eax
push ecx
push ecx
push 0xd
push ecx
mov ecx, ebx
call fcn.004a2436
mov edx, dword [esp + 0x2c]
add esp, 0x10
mov dword [esp + 0xc], eax
lea eax, [esp + 0x10]
push eax
push ecx
push 0x16
push ecx
mov ecx, ebx
call fcn.004a2436
mov esi, eax
add esp, 0x10
test esi, esi
jle 0x4a29c5
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x88]
push eax
push dword [esp + 0x24]
call fcn.004a32be
pop ecx
pop ecx
cmp dword [esp + 0xc], 0
jle 0x4a2fba
test esi, esi
jle 0x4a2fba
mov eax, dword [esp + 0x18]
push dword [eax]
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x4a2fba
lea edx, [esp + 0x88]
push edx
push eax
push edi
call ecx
jmp 0x4a2fb7
lea ecx, [esp + 0x10]
mov edx, eax
push ecx
push ecx
push 0x12
push ecx
mov ecx, ebx
call fcn.004a2436
mov edx, dword [esp + 0x2c]
add esp, 0x10
mov esi, eax
lea eax, [esp + 0x18]
push eax
push ecx
push 0x13
push ecx
mov ecx, ebx
call fcn.004a2436
add esp, 0x10
mov dword [esp + 0xc], eax
test esi, esi
jle 0x4a2fba
test eax, eax
jle 0x4a2fba
xor ebx, ebx
cmp dword [edi + 0x28], ebx
je 0x4a2fba
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x88]
push eax
push dword [esp + 0x24]
mov dword [esp + 0xac], 4
mov dword [esp + 0xb0], 0x10000
call fcn.004a32be
push dword [esp + 0x14]
lea eax, [esp + 0x94]
push ebx
push dword [esp + 0x28]
push eax
push edi
call dword [edi + 0x28]
add esp, 0x1c
jmp 0x4a2fba
lea eax, [esp + 0xc]
mov edx, ecx
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x14]
push eax
push 0xc
call fcn.0048b73e
mov esi, dword [esp + 0x1c]
add esp, 0xc
test esi, esi
je 0x4a2fba
mov eax, dword [esi]
test eax, eax
je 0x4a2acf
push dword [esi + 4]
push 1
push dword [esp + 0x14]
push edi
call eax
add esp, 0x10
push 1
push esi
call fcn.005f5a60
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.0048b76e
jmp 0x4a2fb7
sub esi, 0x113
je 0x4a2ce0
sub esi, 1
je 0x4a2b9c
sub esi, 4
je 0x4a2b50
sub esi, 1
jne 0x4a2fba
lea eax, [esp + 0xc]
mov edx, ecx
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x14]
push eax
push 0xc
call fcn.0048b73e
mov esi, dword [esp + 0x1c]
add esp, 0xc
test esi, esi
je 0x4a28db
mov eax, dword [esi]
test eax, eax
je 0x4a28d1
push dword [esi + 4]
push 0
push dword [esp + 0x14]
push edi
call eax
add esp, 0x10
jmp 0x4a28d1
lea eax, [esp + 0x10]
mov edx, ecx
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x18]
push eax
push 0xc
call fcn.0048b73e
add esp, 0xc
cmp dword [esp + 0x10], 0
jne 0x4a2b84
cmp dword [esp + 0x14], 0
je 0x4a28db
xor ebx, ebx
push ebx
push ebx
jmp 0x4a28b2
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
test eax, eax
je 0x4a28d1
push dword [esi + 4]
push 0
jmp 0x4a28cb
lea ecx, [esp + 0x14]
mov edx, eax
push ecx
push ecx
push 9
push ecx
mov ecx, ebx
call fcn.004a2436
mov ecx, dword [esp + 0x24]
add esp, 0x10
xor ebx, ebx
mov dword [esp + 0x18], eax
cmp eax, 4
jge 0x4a2bc4
mov esi, ebx
jmp 0x4a2be5
movsx eax, byte [ecx + 2]
and eax, 7
mov dword [esp + 0x10], 0x64
imul esi, eax, 0x64
movsx eax, byte [ecx + 3]
cdq
idiv dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add esi, edx
cmp eax, 4
mov eax, ebx
jle 0x4a2bef
lea eax, [ecx + 4]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4a2bff
mov ecx, dword [ecx + 8]
jmp 0x4a2c01
mov ecx, ebx
push eax
push esi
push str.TURN:_Allocation_Refresh_Error___d___s
push 2
push 2
push ecx
call fcn.004920d4
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x30]
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x40]
push eax
push 0xc
call fcn.0048b73e
add esp, 0x24
sub esi, 0x191
je 0x4a2fba
sub esi, 0x25
je 0x4a2c54
cmp dword [esp + 0x18], 2
jne 0x4a2fba
push 1
push dword [esp + 0x28]
jmp 0x4a2cd5
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
push 0x15
push ecx
mov ecx, esi
call fcn.004a24e8
pop ecx
pop ecx
cmp eax, 1
jne 0x4a2cc3
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x14]
push eax
push ecx
push 0x15
push ecx
mov ecx, esi
call fcn.004a2436
push 1
push dword [edi + 0x50]
mov esi, eax
call fcn.005f5a60
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov edx, esi
mov dword [edi + 0x54], esi
call fcn.0048ee63
mov esi, dword [esp + 0x24]
mov dword [edi + 0x50], eax
cmp dword [esp + 0x18], ebx
jne 0x4a2caf
mov edx, esi
jmp 0x4a2cb8
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 4]
mov edx, dword [eax]
push ebx
mov ecx, edi
call fcn.004a3557
pop ecx
jmp 0x4a2cc7
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x18], 2
jne 0x4a2fba
push 1
push esi
call fcn.005f5a60
pop ecx
jmp 0x4a28e9
push 0x14
push ecx
mov edx, eax
mov ecx, ebx
call fcn.004a24e8
xor esi, esi
inc esi
pop ecx
pop ecx
cmp eax, esi
jne 0x4a2fba
mov edx, dword [esp + 0x1c]
push 0x15
push ecx
mov ecx, ebx
call fcn.004a24e8
pop ecx
pop ecx
cmp eax, esi
jne 0x4a2fba
mov edx, dword [esp + 0x20]
xor ebx, ebx
mov ecx, dword [edi + 0x48]
push ebx
push 0xc
call fcn.0048b547
pop ecx
pop ecx
test eax, eax
je 0x4a2fab
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x24]
push eax
push ecx
push 0x15
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.004a2436
mov edx, dword [esp + 0x2c]
add esp, 0x10
mov dword [esp + 0x14], eax
lea eax, [esp + 0x10]
push eax
push ecx
push 0x14
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.004a2436
add esp, 0x10
mov dword [esp + 0x18], eax
cmp dword [edi + 0x50], ebx
je 0x4a2d76
push esi
push dword [edi + 0x50]
call fcn.005f5a60
pop ecx
pop ecx
mov eax, dword [esp + 0x14]
push 0x1b78
push 0x75ff04
inc eax
push esi
push eax
mov dword [esp + 0x1c], eax
call fcn.005f5ba0
add esp, 0x10
mov dword [edi + 0x50], eax
test eax, eax
je 0x4a2fcf
push dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, eax
push dword [esp + 0x28]
call section..text
mov eax, dword [edi + 0x50]
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
mov byte [ecx + eax], bl
mov dword [edi + 0x54], ecx
cmp dword [edi + 0x58], ebx
je 0x4a2dd0
push esi
push dword [edi + 0x58]
call fcn.005f5a60
pop ecx
pop ecx
mov eax, dword [esp + 0x18]
push 0x1b7e
push 0x75ff7c
inc eax
push esi
push eax
call fcn.005f5ba0
add esp, 0x10
mov dword [edi + 0x58], eax
test eax, eax
jne 0x4a2e22
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0x1b7e
push esi
push edi
mov edx, 0x75ff98
xor ecx, ecx
call fcn.0048f95e
add esp, 0xc
push edi
push 0x75ffb4
push 0x75ffd0
jmp 0x4a2ffc
mov esi, dword [esp + 0x18]
mov ecx, eax
push esi
push dword [esp + 0x14]
lea edx, [esi + 1]
call section..text
mov eax, dword [edi + 0x58]
mov byte [esi + eax], bl
lea eax, [esp + 0x1c0]
push dword [edi + 0x40]
mov dword [edi + 0x5c], esi
push dword [edi + 0x58]
push dword [edi + 0x38]
push str._s:_s:_s
push 0x80
push eax
call fcn.0040117f
mov esi, eax
lea eax, [esp + 0x48]
push eax
call fcn.004b8640
add esp, 0x24
lea eax, [esp + 0x1b8]
push esi
push eax
lea eax, [esp + 0x30]
push eax
call fcn.004b86a0
add esp, 0xc
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.004b8520
lea eax, [esp + 0xb4]
push 0xc
push eax
call fcn.004c7660
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x2c]
mov ecx, dword [edi + 0x48]
push eax
lea eax, [esp + 0x20]
push eax
push 0xc
call fcn.0048b73e
mov edx, dword [esp + 0x3c]
add esp, 0x1c
mov ecx, dword [edi + 0x48]
push 0xc
call fcn.0048b76e
mov al, byte [esp + 0x20]
pop ecx
mov dword [esp + 0xc], ebx
lea ecx, [esp + 0xb8]
mov byte [esp + 0xc], al
lea eax, [esp + 0xac]
push eax
push 3
pop edx
call fcn.004a324a
pop ecx
mov esi, eax
lea ecx, [esp + 0xb8]
push 4
lea eax, [esp + 0x10]
mov edx, esi
push eax
push 0x19
call fcn.004a327c
add esp, 0xc
lea ecx, [esp + 0xb8]
add esi, eax
mov edx, esi
push dword [esp + 0x14]
push dword [esp + 0x28]
push 0x15
call fcn.004a327c
add esp, 0xc
add esi, eax
mov eax, dword [esp + 0x18]
push eax
push dword [esp + 0x14]
mov edx, esi
lea ecx, [esp + 0xc0]
push 0x14
call fcn.004a327c
add esp, 0xc
lea ecx, [esp + 0xb8]
add esi, eax
mov edx, esi
push dword [edi + 0x3c]
push dword [edi + 0x38]
push 6
call fcn.004a327c
add esp, 0xc
lea ecx, [esp + 0xb8]
add esi, eax
lea eax, [esp + 0x88]
mov edx, esi
push 0x10
push eax
call fcn.004986c9
add esi, eax
lea ecx, [esp + 0xc0]
mov edx, esi
call fcn.00498742
push 2
add esi, eax
lea eax, [esp + 0xc4]
push esi
push eax
push 1
push ebx
push dword [edi + 0x34]
call fcn.00482f1e
add esp, 0x20
jmp 0x4a2fba
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4a2fba
push ebx
push ebx
push edi
call eax
add esp, 0xc
mov ecx, dword [esp + 0x23c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005c0db0
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0x1b78
push esi
push edi
mov edx, 0x75ff20
xor ecx, ecx
call fcn.0048f95e
add esp, 0xc
push edi
push 0x75ff3c
push 0x75ff58
call fcn.00401109
add esp, 0xc
push esi
call fcn.005d0820
int3