Function at 0x105103e0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
mov esi, dword [esp + 0x18]
mov ebp, dword [ebx + 0x14]
push edi
movzx edi, word [ebx + 0x10]
push edi
push ebp
push 1
call fcn.10510360
add esp, 0xc
test eax, eax
je 0x10510454
movzx edi, word [ebx + 0x18]
mov ebx, dword [ebx + 0x1c]
test edi, edi
je 0x1051043c
push edi
call fcn.1051f7bd
add esp, 4
mov dword [esi + 0xc], eax
test eax, eax
je 0x10510443
push edi
push ebx
push eax
call fcn.105137c0
add esp, 0xc
mov dword [esi + 8], edi
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov dword [esi + 0xc], 0
mov dword [esi + 8], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
push edi
push ebp
push 0
call fcn.10510360
add esp, 0xc
test eax, eax
je 0x1051044a
push 0x18
call fcn.1051f7bd
mov edx, eax
add esp, 4
mov dword [esi + 0xc], edx
test edx, edx
je 0x1051044a
mov ecx, dword [ebx + 0x1c]
mov edi, dword [esp + 0x24]
mov al, byte [ecx]
mov byte [edx], al
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 1]
mov byte [ecx + 1], al
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 2]
mov byte [ecx + 2], al
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 3]
mov byte [ecx + 3], al
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 4]
mov byte [ecx + 4], al
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 5]
mov byte [ecx + 5], al
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 6]
mov byte [ecx + 6], al
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esi + 0xc]
mov al, byte [eax + 7]
mov byte [ecx + 7], al
movzx eax, word [edi]
sub eax, 1
je 0x1051054c
sub eax, 1
je 0x10510530
sub eax, 0x15
je 0x105104fd
push dword [esi + 0xc]
call fcn.1051f7a2
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov ebp, dword [esi + 0xc]
lea eax, [edi + 8]
push eax
call fcn.10510020
add esp, 4
test al, al
je 0x10510518
mov eax, dword [edi + 0x14]
mov dword [ebp + 8], eax
jmp 0x10510539
mov dword [ebp + 8], 0
xor ecx, ecx
mov eax, dword [esi + 0xc]
mov ebp, dword [sym.imp.WS2_32.dll_htonl]
mov word [eax + 0xc], cx
jmp 0x1051059d
mov ecx, dword [esi + 0xc]
mov eax, dword [edi + 4]
mov dword [ecx + 8], eax
mov ecx, dword [esi + 0xc]
mov ax, word [edi + 2]
mov ebp, dword [sym.imp.WS2_32.dll_htonl]
mov word [ecx + 0xc], ax
jmp 0x1051059d
push 0x10a78b5c
call fcn.1053b920
mov edi, dword [0x10b477ec]
push 0x10a78b5c
lea eax, [edi + 1]
mov dword [0x10b477ec], eax
call fcn.1053b940
mov ebp, dword [sym.imp.WS2_32.dll_htonl]
add esp, 8
or eax, 0xffffffff
sub eax, edi
push eax
call ebp
mov edi, eax
call sub.KERNEL32.dll_GetCurrentProcessId
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [esi + 0xc]
movzx edx, ax
mov dword [ecx + 8], edi
mov eax, dword [esi + 0xc]
mov word [eax + 0xc], dx
push 0
call fcn.105291fd
add esp, 4
push eax
call ebp
mov ecx, dword [esi + 0xc]
mov edx, 0x12
mov dword [ecx + 0xe], eax
mov eax, dword [esi + 0xc]
mov byte [edx + eax], 0
inc edx
cmp edx, 0x18
jl 0x105105b5
mov ecx, dword [esi + 0xc]
push edx
mov dword [esi + 8], edx
mov eax, dword [ebx + 0x1c]
push ecx
add eax, 8
push eax
push ecx
call fcn.105107e0
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret