Function at 0x56f120
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x24
mov eax, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], eax
mov dword [eax], closesocket
xor eax, eax
cmp dword [esp + 0x3c], eax
jle 0x56f478
push ebx
push ebp
push esi
mov esi, dword [esp + 0x3c]
add esi, 2
mov dword [esp + 0x24], SysStringLen
push edi
mov dword [esp + 0x20], esi
jmp 0x56f160
mov edi, dword [esp + 0x38]
movsx edx, byte [esi - 2]
shl dx, 7
movzx ecx, word [edi]
sub cx, dx
movsx edx, byte [esi - 1]
movzx ebp, cx
movzx ecx, word [edi + 2]
shl dx, 7
sub cx, dx
movsx edx, byte [esi]
movzx ebx, cx
movzx ecx, word [edi + 4]
shl dx, 7
sub cx, dx
movsx edx, byte [esi + 1]
movzx edi, cx
mov ecx, dword [esp + 0x38]
shl dx, 7
movzx ecx, word [ecx + 6]
sub cx, dx
movzx esi, cx
mov ecx, dword [esp + 0x20]
movsx edx, byte [ecx + 2]
mov ecx, dword [esp + 0x38]
shl dx, 7
movzx ecx, word [ecx + 8]
sub cx, dx
mov edx, dword [esp + 0x3c]
movzx ecx, cx
movsx ecx, cx
mov dword [esp + 0x10], ecx
mov edx, dword [edx + 8]
movsx ecx, si
mov dword [esp + 0x14], ecx
movsx ecx, di
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x18], ecx
movsx ecx, bx
mov dword [esp + 0x1c], ecx
mov esi, dword [edi + 4]
movsx ecx, bp
mov dword [esp + 0x24], ecx
movzx ecx, dx
imul ecx, dword [esp + 0x18]
movzx ebx, si
imul ebx, dword [esp + 0x1c]
mov edi, dword [edi]
sar edx, 0xf
sar ecx, 0xf
and edx, 0xfffffffe
and ecx, 0xfffffffe
imul edx, dword [esp + 0x18]
sar ebx, 0xf
and ebx, 0xfffffffe
add ebx, ecx
mov ecx, dword [esp + 0x3c]
mov ebp, dword [ecx + 0xc]
movzx ecx, bp
imul ecx, dword [esp + 0x14]
sar ecx, 0xf
and ecx, 0xfffffffe
add ebx, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ebx
mov ebx, dword [ecx + 0x10]
movzx ecx, bx
imul ecx, dword [esp + 0x10]
sar ebx, 0xf
and ebx, 0xfffffffe
imul ebx, dword [esp + 0x10]
sar ecx, 0xf
and ecx, 0xfffffffe
add dword [esp + 0x40], ecx
movzx ecx, di
imul ecx, dword [esp + 0x24]
sar ecx, 0x10
add dword [esp + 0x40], ecx
add dword [esp + 0x40], edx
mov edx, dword [esp + 0x40]
add edx, ebx
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
sar ebp, 0xf
and ebp, 0xfffffffe
sar esi, 0xf
imul ebp, dword [esp + 0x14]
and esi, 0xfffffffe
imul esi, dword [esp + 0x1c]
sar edi, 0x10
imul edi, ebx
add edx, ebp
movzx ebp, byte [eax + ecx]
movsx ecx, word [esp + 0x48]
add edx, esi
imul ebp, ecx
add edx, edi
movzx ecx, dx
imul ecx, ebx
sar edx, 0x10
imul edx, ebx
sar ecx, 0x10
add ebp, ecx
mov ecx, dword [esp + 0x3c]
add ebp, edx
mov dword [esp + 0x40], ebp
mov edx, dword [ecx + 0x24]
mov esi, dword [ecx + 0x20]
mov edi, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x18]
movzx ebp, dx
imul ebp, dword [esp + 0x10]
movzx ecx, si
imul ecx, dword [esp + 0x14]
sar edx, 0xf
and edx, 0xfffffffe
sar esi, 0xf
imul edx, dword [esp + 0x10]
and esi, 0xfffffffe
imul esi, dword [esp + 0x14]
sar ecx, 0xf
sar ebp, 0xf
and ecx, 0xfffffffe
and ebp, 0xfffffffe
add ebp, ecx
movzx ecx, di
imul ecx, dword [esp + 0x18]
sar edi, 0xf
and edi, 0xfffffffe
imul edi, dword [esp + 0x18]
sar ecx, 0xf
and ecx, 0xfffffffe
add ebp, ecx
movzx ecx, bx
add ebp, edx
sar ebx, 0x10
mov edx, dword [esp + 0x1c]
add ebp, esi
imul ecx, edx
add ebp, edi
imul ebx, edx
sar ecx, 0x10
add ebp, ecx
add ebp, ebx
movzx ecx, bp
imul ecx, edx
sar ebp, 0x10
imul ebp, edx
sar ecx, 0x10
add ebp, dword [esp + 0x40]
add ebp, ecx
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 0x38]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x30]
movzx ebx, dx
imul ebx, dword [esp + 0x10]
movzx ecx, si
imul ecx, dword [esp + 0x14]
sar ebx, 0xf
and ebx, 0xfffffffe
sar ecx, 0xf
and ecx, 0xfffffffe
sar edx, 0xf
add ebx, ecx
sar esi, 0xf
and edx, 0xfffffffe
movzx ecx, di
imul edx, dword [esp + 0x10]
and esi, 0xfffffffe
imul esi, dword [esp + 0x14]
sar edi, 0x10
add ebx, edx
mov edx, dword [esp + 0x18]
imul ecx, edx
imul edi, edx
sar ecx, 0x10
add ebx, ecx
add ebx, esi
add ebx, edi
movzx ecx, bx
imul ecx, edx
sar ebx, 0x10
imul ebx, edx
mov edx, dword [esp + 0x3c]
sar ecx, 0x10
lea edi, [ebx + ebp]
mov ebp, dword [esp + 0x10]
add edi, ecx
mov ebx, dword [esp + 0x14]
mov ecx, dword [edx + 0x4c]
mov edx, dword [edx + 0x48]
movzx esi, cx
sar ecx, 0xf
and ecx, 0xfffffffe
imul esi, ebp
imul ecx, ebp
sar esi, 0xf
and esi, 0xfffffffe
add esi, ecx
movzx ecx, dx
imul ecx, ebx
sar edx, 0x10
imul edx, ebx
sar ecx, 0x10
add esi, ecx
add esi, edx
movzx ecx, si
imul ecx, ebx
sar esi, 0x10
imul esi, ebx
sar ecx, 0x10
add esi, edi
add esi, ecx
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + 0x60]
movzx edx, cx
imul edx, ebp
sar ecx, 0x10
imul ecx, ebp
sar edx, 0x10
add edx, ecx
movzx ecx, dx
sar edx, 0x10
imul ecx, ebp
imul edx, ebp
sar ecx, 0x10
add edx, esi
add edx, ecx
mov ecx, dword [esp + 0x28]
cmp edx, ecx
jge 0x56f45a
mov ecx, dword [esp + 0x2c]
mov dword [ecx], edx
mov ecx, dword [esp + 0x30]
mov byte [ecx], al
mov ecx, edx
mov esi, dword [esp + 0x20]
inc eax
add esi, 5
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], esi
cmp eax, dword [esp + 0x4c]
jl 0x56f160
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret