Function at 0x10d596d0
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
sub esp, 0x224
test ecx, ecx
push ebx
push ebp
push esi
push edi
je 0x10d596f4
mov ecx, dword [esp + 0x238]
cmp dword [ecx], 0
jne 0x10d599c9
mov edx, dword [esp + 0x244]
push edx
call dword [0x10e43194]
mov esi, eax
push 0x104
lea eax, [esp + 0x30]
push eax
push esi
call dword [0x10e43360]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea ecx, [esp + 0x44]
push ecx
call dword [0x10e431e0]
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x20], ebp
je 0x10d59a1e
push 0
push 0
push 0
push 2
push 0
push ebp
call dword [0x10e431a8]
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x24], ebx
jne 0x10d59770
push ebp
call dword [0x10e43198]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x224
ret
push 0
push 0
push 0
push 4
push ebx
call dword [0x10e431a4]
mov edi, eax
test edi, edi
mov dword [esp + 0x14], edi
jne 0x10d597a2
mov esi, dword [0x10e43198]
push ebx
call esi
push ebp
call esi
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x224
ret
mov eax, dword [esi + 0x3c]
movzx edx, word [eax + esi + 0x14]
add eax, esi
lea ecx, [edx + eax + 0x18]
mov edx, dword [edi + 0x3c]
mov ebp, dword [edx + edi + 0x34]
mov edx, dword [esp + 0x240]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x248]
mov dword [edx], ecx
mov ecx, dword [esp + 0x24c]
mov edx, dword [esp + 0x23c]
mov dword [edx], ecx
mov ecx, dword [esp + 0x240]
movzx eax, word [eax + 6]
mov ecx, dword [ecx]
sub ebp, esi
xor ebx, ebx
sub ecx, esi
xor edx, edx
test eax, eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], ebp
jle 0x10d59899
mov esi, dword [esp + 0x18]
add esi, 0xc
mov dword [esp + 0x10], esi
nop
mov esi, dword [esp + 0x10]
mov esi, dword [esi]
cmp ecx, esi
jb 0x10d5982b
mov edi, dword [esp + 0x10]
mov edi, dword [edi - 4]
add edi, esi
cmp ecx, edi
jb 0x10d5983d
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
inc edx
add esi, 0x28
cmp edx, eax
mov dword [esp + 0x10], esi
jl 0x10d59810
jmp 0x10d59899
mov eax, dword [esp + 0x18]
lea edx, [edx + edx*4]
mov ebx, dword [eax + edx*8 + 0xc]
lea eax, [eax + edx*8]
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x24c]
sub edx, ebx
lea ebx, [ecx + edx]
mov ecx, dword [0x10f43380]
push 0x10e4401c
mov dword [esp + 0x20], edx
mov edx, dword [ecx]
push eax
call dword [edx]
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x23c]
mov dword [ecx], eax
mov ecx, dword [edx]
mov edx, dword [esp + 0x14]
mov edi, eax
mov eax, ecx
shr ecx, 2
lea esi, [ebx + edx]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
mov ecx, dword [esp + 0x240]
cmp dword [ecx], 0
je 0x10d59a03
mov edx, dword [esp + 0x238]
cmp dword [edx], 0
je 0x10d59a03
test ebp, ebp
je 0x10d599ae
mov eax, dword [edi + 0x3c]
movzx ecx, word [eax + edi + 0x14]
movzx esi, word [eax + edi + 6]
add eax, edi
lea ebp, [ecx + eax + 0x18]
xor ecx, ecx
test esi, esi
jle 0x10d599ae
mov eax, dword [eax + 0xa0]
lea edx, [ebp + 0xc]
cmp dword [edx], eax
je 0x10d598f8
inc ecx
add edx, 0x28
cmp ecx, esi
jl 0x10d598e7
jmp 0x10d599ae
lea edx, [ecx + ecx*4]
lea eax, [ebp + edx*8]
mov ebp, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
add ebp, edi
test eax, eax
mov dword [esp + 0x10], eax
je 0x10d599ae
mov ecx, dword [ebp + 4]
test ecx, ecx
lea eax, [ebp + 4]
mov esi, ebp
je 0x10d599ae
mov edx, dword [esp + 0x10]
mov eax, ecx
sub edx, eax
mov dword [esp + 0x10], edx
lea edx, [eax - 8]
add ebp, ecx
shr edx, 1
xor edi, edi
test edx, edx
mov dword [esp + 0x18], ebp
jbe 0x10d5999e
xor eax, eax
mov ax, word [esi + edi*2 + 8]
mov ecx, eax
and ecx, 0xf000
cmp ecx, 0x3000
jne 0x10d59995
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esi]
and eax, 0xfff
add eax, ecx
add eax, ebp
cmp eax, ebx
jb 0x10d59995
mov ebp, dword [esp + 0x23c]
mov ecx, eax
sub ecx, ebx
add ecx, 4
cmp ecx, dword [ebp]
ja 0x10d59995
mov ecx, dword [esp + 0x238]
mov ecx, dword [ecx]
sub ecx, ebx
mov ebp, dword [ecx + eax]
add ecx, eax
mov eax, dword [esp + 0x28]
sub ebp, eax
mov dword [ecx], ebp
inc edi
cmp edi, edx
jb 0x10d59940
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
test eax, eax
mov edi, dword [esp + 0x14]
jne 0x10d59913
push edi
call dword [0x10e4319c]
mov ecx, dword [esp + 0x24]
mov esi, dword [0x10e43198]
push ecx
call esi
mov edx, dword [esp + 0x20]
push edx
call esi
mov eax, dword [esp + 0x23c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x240]
mov edx, dword [esp + 0x238]
mov esi, dword [eax]
mov edi, dword [edx]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10d599ef
sbb eax, eax
sbb eax, 0xffffffff
pop edi
xor ecx, ecx
test eax, eax
pop esi
sete cl
pop ebp
mov al, cl
pop ebx
add esp, 0x224
ret
push edi
call dword [0x10e4319c]
mov edx, dword [esp + 0x24]
mov esi, dword [0x10e43198]
push edx
call esi
mov eax, dword [esp + 0x20]
push eax
call esi
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x224
ret