Function at 0x56bf80
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x30
lea eax, [esp + 0x34]
push ebx
mov ebx, dword [esp + 0x38]
push ebp
push esi
push edi
push eax
push 0
push 1
push ebx
call fcn.005a7240
add esp, 0x10
test eax, eax
je 0x56c48d
mov eax, dword [esp + 0x44]
cmp eax, 0x35000
jb 0x56c46a
cmp eax, 0x37002
ja 0x56c46a
lea ecx, [esp + 0x18]
push 0x10
push ecx
push ebx
call fcn.005a6990
add esp, 0xc
cmp eax, 0x10
jne 0x56c48d
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
call fcn.0056bc40
mov esi, eax
add esp, 0xc
test esi, esi
je 0x56c48d
mov eax, dword [esp + 0x24]
cmp eax, 1
jle 0x56c09e
dec eax
push eax
push esi
call fcn.0056b710
add esp, 8
test eax, eax
jge 0x56c09e
mov ax, word [esi + 0xe]
movsx edx, ax
dec edx
test edx, edx
jg 0x56c3f4
mov eax, dword [esi + 0x58]
test eax, eax
je 0x56c039
push eax
call fcn.0059d940
add esp, 4
mov ax, word [esi + 0xe]
push 0xfff
push esi
mov word [esi + 0xe], ax
call fcn.0056b9b0
push esi
push 0x6a8ad0
call fcn.005b69e0
mov eax, dword [esi + 0x5c]
add esp, 0x10
test eax, eax
je 0x56c078
mov ecx, dword [0x9671d8]
push eax
call dword [ecx + 0x10c]
add esp, 4
mov dword [esi + 0x5c], 0
lea edx, [esi + 0x20]
push edx
call fcn.00576f10
dec word [esi + 0xe]
mov eax, dword [0x9671d8]
push esi
call dword [eax + 0x10c]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
test dword [esi + 8], 0x1000000
jne 0x56c16d
mov eax, dword [esi + 0x14]
test eax, eax
je 0x56c16d
test byte [esp + 0x18], 8
je 0x56c0da
mov ecx, dword [esi + 0x30]
lea edi, [eax*4]
push edi
push ecx
push ebx
call fcn.005a6990
add esp, 0xc
cmp eax, edi
jne 0x56c019
mov ecx, dword [esi + 0x1c]
test ecx, ecx
jle 0x56c119
mov eax, dword [esi + 0x14]
xor edi, edi
shl eax, 3
test ecx, ecx
mov dword [esp + 0x10], eax
jle 0x56c119
lea ebp, [esi + 0x34]
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp]
push ecx
push edx
push ebx
call fcn.005a73f0
add esp, 0xc
test eax, eax
je 0x56c1ef
mov eax, dword [esi + 0x1c]
inc edi
add ebp, 4
cmp edi, eax
jl 0x56c0f4
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x10], eax
je 0x56c16d
mov edi, dword [esi + 0x2c]
lea ebp, [eax*8]
push ebp
push edi
push ebx
call fcn.005a6990
add esp, 0xc
cmp eax, ebp
jne 0x56c1ef
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x56c16d
mov ax, word [edi]
mov dx, word [edi + 2]
mov word [edi], dx
mov dx, word [edi + 6]
mov word [edi + 2], ax
mov ax, word [edi + 4]
mov word [edi + 4], dx
mov word [edi + 6], ax
add edi, 8
dec ecx
jne 0x56c149
mov eax, dword [esi + 0x18]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x10], ebp
jle 0x56c2ca
mov edi, dword [esi + 0x5c]
lea eax, [esp + 0x28]
push 0x18
push eax
push ebx
add edi, ebp
call fcn.005a6990
add esp, 0xc
cmp eax, 0x18
jne 0x56c1ef
mov edx, dword [esp + 0x28]
lea ecx, [edi + 4]
mov dword [edi + 4], edx
mov eax, dword [esp + 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x30]
mov dword [ecx + 8], edx
mov eax, dword [esp + 0x34]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x56c290
mov eax, dword [esp + 0x3c]
test eax, eax
mov eax, dword [esi + 0x14]
je 0x56c274
mov edx, dword [edi + 0x14]
lea ecx, [eax + eax*2]
shl ecx, 3
push ecx
push edx
push ebx
call fcn.005a73f0
add esp, 0xc
test eax, eax
je 0x56c1ef
jmp 0x56c2b3
mov ax, word [esi + 0xe]
movsx ecx, ax
dec ecx
test ecx, ecx
jg 0x56c3f4
mov eax, dword [esi + 0x58]
test eax, eax
je 0x56c20f
push eax
call fcn.0059d940
add esp, 4
mov dx, word [esi + 0xe]
push 0xfff
push esi
mov word [esi + 0xe], dx
call fcn.0056b9b0
push esi
push 0x6a8ad0
call fcn.005b69e0
mov eax, dword [esi + 0x5c]
add esp, 0x10
test eax, eax
je 0x56c24d
push eax
mov eax, dword [0x9671d8]
call dword [eax + 0x10c]
add esp, 4
mov dword [esi + 0x5c], 0
lea ecx, [esi + 0x20]
push ecx
call fcn.00576f10
dec word [esi + 0xe]
mov edx, dword [0x9671d8]
push esi
call dword [edx + 0x10c]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [edi + 0x14]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push ecx
push ebx
call fcn.005a73f0
add esp, 0xc
test eax, eax
je 0x56c1ef
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x56c2b3
mov eax, dword [esi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x18]
shl edx, 2
push edx
push eax
push ebx
call fcn.005a73f0
add esp, 0xc
test eax, eax
je 0x56c30f
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x18]
inc eax
add ebp, 0x1c
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x56c17e
lea edx, [esp + 0x44]
push edx
push 0
push 8
push ebx
call fcn.005a7240
add esp, 0x10
test eax, eax
je 0x56c48d
mov eax, dword [esp + 0x44]
cmp eax, 0x35000
jb 0x56c40d
cmp eax, 0x37002
ja 0x56c40d
lea edi, [esi + 0x20]
push edi
push ebx
call fcn.00577150
add esp, 8
test eax, eax
jne 0x56c346
mov ax, word [esi + 0xe]
movsx ecx, ax
dec ecx
test ecx, ecx
jg 0x56c3f4
mov eax, dword [esi + 0x58]
test eax, eax
je 0x56c32f
push eax
call fcn.0059d940
add esp, 4
dec word [esi + 0xe]
push esi
call fcn.0056c4a0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push esi
push ebx
push 0x6a8ad0
call fcn.005b4100
add esp, 0xc
test eax, eax
jne 0x56c365
mov ax, word [esi + 0xe]
movsx edx, ax
dec edx
test edx, edx
jmp 0x56c319
push esi
call fcn.0056b9e0
add esp, 4
test eax, eax
jne 0x56c403
mov ax, word [esi + 0xe]
movsx ecx, ax
dec ecx
test ecx, ecx
jg 0x56c3f4
mov eax, dword [esi + 0x58]
test eax, eax
je 0x56c392
push eax
call fcn.0059d940
add esp, 4
mov dx, word [esi + 0xe]
push 0xfff
push esi
mov word [esi + 0xe], dx
call fcn.0056b9b0
push esi
push 0x6a8ad0
call fcn.005b69e0
mov eax, dword [esi + 0x5c]
add esp, 0x10
test eax, eax
je 0x56c3d0
push eax
mov eax, dword [0x9671d8]
call dword [eax + 0x10c]
add esp, 4
mov dword [esi + 0x5c], 0
push edi
call fcn.00576f10
dec word [esi + 0xe]
mov ecx, dword [0x9671d8]
push esi
call dword [ecx + 0x10c]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
dec eax
pop edi
mov word [esi + 0xe], ax
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ax, word [esi + 0xe]
movsx edx, ax
dec edx
test edx, edx
jg 0x56c438
mov eax, dword [esi + 0x58]
test eax, eax
je 0x56c429
push eax
call fcn.0059d940
add esp, 4
dec word [esi + 0xe]
push esi
call fcn.0056c4a0
add esp, 4
jmp 0x56c43d
dec eax
mov word [esi + 0xe], ax
push reloc.WS2_32.dll_connect
mov dword [esp + 0x14], 2
call fcn.005c45a0
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
call fcn.005b2690
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push reloc.WS2_32.dll_connect
mov dword [esp + 0x14], 2
call fcn.005c45a0
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
push ecx
call fcn.005b2690
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret