Function at 0x5074f0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6ae260
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
push ebx
push esi
push edi
mov eax, dword [0x76f950]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, ecx
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 0x48]
mov esi, dword [eax + 0x14]
mov dword [ebp - 0x5c], esi
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 4]
test eax, eax
jg 0x507548
mov edx, 1
sub edx, eax
mov dword [ebp - 0x44], edx
jmp 0x50754d
xor eax, eax
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp + 8]
mov edi, dword [ebx]
add edi, dword [ecx]
mov eax, 0
cmovs edi, eax
mov dword [ebp - 0x28], edi
mov ecx, dword [ecx + 8]
mov eax, dword [ebx + 8]
dec eax
add eax, ecx
mov dword [ebp - 0x40], eax
cmp eax, esi
jl 0x507575
lea eax, [esi - 1]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 4], 0
sub eax, edi
lea ecx, [eax*8 + 0x10]
mov edx, 4
call fcn.004dc4c0
mov esi, eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x5075fc
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00632c9c
add esp, 4
mov dword [ebp - 0x2c], eax
xor esi, esi
mov dword [ebp - 0x8c], esi
cmp esi, dword [ebp - 0x44]
jge 0x5075f9
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00632c9c
add esp, 4
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + esi*4], eax
inc esi
jmp 0x5075c7
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
sub eax, edi
mov dword [ebp - 0xac], eax
test eax, eax
js 0x507617
xor ecx, ecx
mov dword [esi + eax*8 + 4], ecx
mov dword [esi + eax*8], ecx
dec eax
jmp 0x507601
mov eax, dword [ebx + 4]
mov edi, dword [ebp + 0xc]
mov ebx, dword [edi + 4]
add ebx, eax
mov ecx, 0
cmovs ebx, ecx
mov ecx, dword [edi + 0xc]
add ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x80]
cmp ecx, eax
jl 0x50763f
lea ecx, [eax - 1]
mov dword [ebp - 0x38], ecx
mov edi, ecx
sub edi, ebx
inc edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x84], edi
mov dword [ebp - 0xa8], ebx
cmp ebx, ecx
jg 0x5076aa
push ebx
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x48]
call fcn.004fc9a0
mov dword [ebp - 0x24], eax
mov edi, esi
mov dword [ebp - 0xb4], edi
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xbc], esi
cmp esi, dword [ebp - 0x40]
jg 0x50769b
mov ecx, edi
add edi, 8
mov dword [ebp - 0xb4], edi
push dword [eax + esi*4]
call fcn.00509390
inc esi
mov dword [ebp - 0xbc], esi
mov eax, dword [ebp - 0x24]
jmp 0x507677
inc ebx
mov dword [ebp - 0xa8], ebx
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x14]
jmp 0x507653
mov edx, dword [ebp + 8]
mov esi, dword [edx]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
xor ebx, ebx
add eax, esi
mov edi, eax
cmovs edi, ebx
mov dword [ebp - 0x98], edi
mov ecx, dword [ecx + 8]
lea edi, [ecx + esi]
mov dword [ebp - 0x64], edi
mov ebx, dword [ebp - 0x5c]
cmp edi, ebx
jl 0x5076d9
lea edi, [ebx - 1]
mov dword [ebp - 0x64], edi
test eax, eax
jns 0x5076e1
neg eax
jmp 0x5076e3
xor eax, eax
mov edx, dword [edx + 8]
add ecx, edx
cmp ecx, ebx
jl 0x5076f1
sub ecx, ebx
inc ecx
jmp 0x5076f3
xor ecx, ecx
sub edx, esi
mov ebx, edx
sub ebx, ecx
sub ebx, eax
mov dword [ebp - 0x68], ebx
jns 0x507707
mov eax, edx
xor ebx, ebx
mov dword [ebp - 0x68], ebx
lea ecx, [esi + eax]
mov dword [ebp - 0xb8], ecx
lea ecx, [esi + ebx]
add ecx, eax
mov dword [ebp - 0xa0], ecx
mov edi, dword [ebp - 0x44]
mov esi, edi
mov dword [ebp - 0x60], esi
xor ebx, ebx
mov dword [ebp - 0x54], ebx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0x38], ebx
cmp edx, dword [ecx + 0xc]
jge 0x507bf1
test esi, esi
jne 0x507774
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
shl eax, 2
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax + ebx*4]
sub edx, edi
push edx
mov ecx, dword [ebp - 0x48]
call fcn.004fd0b0
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
lea eax, [eax + ecx*4]
push eax
call fcn.0063a5b0
add esp, 0xc
jmp 0x507778
dec esi
mov dword [ebp - 0x60], esi
xor edx, edx
mov dword [ebp - 0x18], edx
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x64]
mov edi, eax
mov ecx, dword [ebp - 0x98]
sub edi, ecx
inc edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x20], edx
cmp ecx, eax
jg 0x5077f2
mov eax, ecx
sub eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
add dx, word [ecx + eax*8]
mov dword [ebp - 0x24], edx
mov word [ebp - 0x1c], dx
mov edx, ecx
add bx, word [edx + eax*8 + 2]
mov word [ebp - 0x1a], bx
add si, word [edx + eax*8 + 4]
mov word [ebp - 0x18], si
mov edx, dword [ebp - 0x20]
add dx, word [ecx + eax*8 + 6]
mov word [ebp - 0x16], dx
mov ecx, dword [ebp - 0x88]
inc ecx
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp - 0x64]
jmp 0x5077a3
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax + ebx*4]
mov dword [ebp - 0x6c], ebx
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x20], esi
cmp esi, dword [ebp - 0xb8]
jge 0x507924
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x70], eax
mov eax, edi
imul eax, dword [ebp - 0x34]
push eax
lea ecx, [ebp - 0x74]
call fcn.00500200
movzx ecx, word [ebp - 0x6e]
shl ecx, 8
movzx eax, word [ebp - 0x70]
add ecx, eax
shl ecx, 8
movzx eax, word [ebp - 0x72]
add ecx, eax
shl ecx, 8
movzx eax, word [ebp - 0x74]
add ecx, eax
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
lea eax, [ebx + esi]
mov cx, word [ebp - 0x1c]
mov dx, word [ebp - 0x1a]
test eax, eax
js 0x5078bc
sub ebx, dword [ebp - 0x28]
add ebx, esi
mov dword [ebp - 0x3c], ebx
mov esi, dword [ebp - 0x14]
sub cx, word [esi + ebx*8]
mov word [ebp - 0x1c], cx
sub dx, word [esi + ebx*8 + 2]
mov word [ebp - 0x1a], dx
mov bx, word [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
sub bx, word [esi + eax*8 + 4]
mov word [ebp - 0x18], bx
mov ax, word [ebp - 0x16]
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x14]
sub ax, word [edi + esi*8 + 6]
mov word [ebp - 0x16], ax
mov edi, dword [ebp - 0x30]
dec edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x58], edi
mov esi, dword [ebp - 0x20]
jmp 0x5078c0
mov bx, word [ebp - 0x18]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 0x3c], eax
inc eax
add eax, esi
cmp eax, dword [ebp - 0x5c]
jge 0x507918
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x28]
add eax, esi
mov dword [ebp - 0x3c], eax
mov esi, dword [ebp - 0x14]
add cx, word [esi + eax*8 + 8]
mov word [ebp - 0x1c], cx
mov ecx, esi
add dx, word [ecx + eax*8 + 0xa]
mov word [ebp - 0x1a], dx
add bx, word [ecx + eax*8 + 0xc]
mov word [ebp - 0x18], bx
mov ax, word [ebp - 0x16]
mov ecx, dword [ebp - 0x3c]
mov edx, esi
add ax, word [edx + ecx*8 + 0xe]
mov word [ebp - 0x16], ax
inc edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x58], edi
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x50], esi
mov ebx, dword [ebp - 0x24]
jmp 0x507806
cmp dword [ebp - 0x68], 0
jle 0x50796f
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
sub eax, dword [ebp - 0x28]
add eax, esi
mov edx, dword [ebp - 0x14]
lea edx, [edx + eax*8]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
sub eax, dword [ebp - 0x28]
add eax, esi
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx + eax*8]
add ecx, 8
mov esi, dword [ebp - 0x68]
push esi
mov eax, edi
imul eax, dword [ebp - 0x34]
push eax
push edx
push ecx
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [0x798b1c]
add esp, 0x18
lea ebx, [ebx + esi*4]
mov dword [ebp - 0x6c], ebx
mov esi, dword [ebp - 0xa0]
mov dword [ebp - 0x50], esi
jmp 0x507980
mov ecx, dword [ebp + 8]
cmp esi, dword [ecx + 8]
jge 0x507a9b
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x78], eax
mov eax, edi
imul eax, dword [ebp - 0x34]
push eax
lea ecx, [ebp - 0x7c]
call fcn.00500200
movzx ecx, word [ebp - 0x76]
shl ecx, 8
movzx eax, word [ebp - 0x78]
add ecx, eax
shl ecx, 8
movzx eax, word [ebp - 0x7a]
add ecx, eax
shl ecx, 8
movzx eax, word [ebp - 0x7c]
add ecx, eax
mov dword [ebx], ecx
add ebx, 4
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x6c], ebx
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax]
lea eax, [ebx + esi]
mov cx, word [ebp - 0x1c]
mov dx, word [ebp - 0x1a]
test eax, eax
js 0x507a33
sub ebx, dword [ebp - 0x28]
add ebx, esi
mov dword [ebp - 0x20], ebx
mov esi, dword [ebp - 0x14]
sub cx, word [esi + ebx*8]
mov word [ebp - 0x1c], cx
sub dx, word [esi + ebx*8 + 2]
mov word [ebp - 0x1a], dx
mov bx, word [ebp - 0x18]
mov eax, dword [ebp - 0x20]
sub bx, word [esi + eax*8 + 4]
mov word [ebp - 0x18], bx
mov ax, word [ebp - 0x16]
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
sub ax, word [edi + esi*8 + 6]
mov word [ebp - 0x16], ax
mov edi, dword [ebp - 0x30]
dec edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x58], edi
mov esi, dword [ebp - 0x50]
jmp 0x507a37
mov bx, word [ebp - 0x18]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
inc eax
add eax, esi
cmp eax, dword [ebp - 0x5c]
jge 0x507a8f
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
add eax, esi
mov dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x14]
add cx, word [edi + eax*8 + 8]
mov word [ebp - 0x1c], cx
mov ecx, edi
add dx, word [ecx + eax*8 + 0xa]
mov word [ebp - 0x1a], dx
add bx, word [ecx + eax*8 + 0xc]
mov word [ebp - 0x18], bx
mov ax, word [ebp - 0x16]
mov ecx, dword [ebp - 0x20]
mov edx, edi
add ax, word [edx + ecx*8 + 0xe]
mov word [ebp - 0x16], ax
mov edi, dword [ebp - 0x30]
inc edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x58], edi
inc esi
mov dword [ebp - 0x50], esi
mov ebx, dword [ebp - 0x24]
jmp 0x507980
mov eax, dword [ecx + 0xc]
dec eax
mov esi, dword [ebp - 0x4c]
cmp esi, eax
je 0x507bc8
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x48]
add eax, esi
jns 0x507abb
xor eax, eax
jmp 0x507ac4
push eax
mov ecx, dword [ebx + 0x48]
call fcn.004fc9a0
mov dword [ebp - 0x24], eax
mov ecx, dword [edi + 0xc]
inc ecx
add ecx, esi
cmp ecx, dword [ebp - 0x80]
jl 0x507ad6
xor ebx, ebx
jmp 0x507ae1
push ecx
mov ecx, dword [ebx + 0x48]
call fcn.004fc9a0
mov ebx, eax
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x507b8a
test ebx, ebx
je 0x507b13
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x28]
sub eax, edi
inc eax
push eax
lea eax, [ecx + edi*4]
push eax
lea eax, [ebx + edi*4]
push eax
push dword [ebp - 0x14]
call dword [0x798b38]
add esp, 0x10
jmp 0x507bc5
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0xb0], edi
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x90], esi
cmp esi, dword [ebp - 0x40]
jg 0x507b84
mov edx, dword [ecx + esi*4]
movzx eax, dl
movzx ecx, word [edi]
sub ecx, eax
mov word [edi], cx
mov ecx, edx
shr ecx, 8
and ecx, 0xff
movzx eax, word [edi + 2]
sub eax, ecx
mov word [edi + 2], ax
mov ecx, edx
shr ecx, 0x10
and ecx, 0xff
movzx eax, word [edi + 4]
sub eax, ecx
mov word [edi + 4], ax
shr edx, 0x18
movzx eax, word [edi + 6]
sub eax, edx
mov word [edi + 6], ax
add edi, 8
mov dword [ebp - 0xb0], edi
inc esi
mov dword [ebp - 0x90], esi
mov ecx, dword [ebp - 0x24]
jmp 0x507b25
mov eax, dword [ebp - 0x34]
dec eax
jmp 0x507bb9
test ebx, ebx
je 0x507bc5
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x9c], esi
cmp esi, dword [ebp - 0x40]
jg 0x507bb5
push dword [ebx + esi*4]
mov ecx, edi
call fcn.00509390
add edi, 8
inc esi
jmp 0x507b94
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x84], eax
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x38]
inc ebx
mov dword [ebp - 0x54], ebx
xor eax, eax
mov edi, dword [ebp - 0x44]
cmp ebx, edi
cmovge ebx, eax
mov dword [ebp - 0x54], ebx
inc esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0xa4], esi
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x4c]
jmp 0x507737
cmp esi, edi
jge 0x507c3c
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
shl eax, 2
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax + ebx*4]
mov eax, dword [ecx + 0xc]
sub eax, edi
add eax, esi
push eax
mov ecx, dword [ebp - 0x48]
call fcn.004fd0b0
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
lea eax, [eax + ecx*4]
push eax
call fcn.0063a5b0
add esp, 0xc
inc ebx
mov dword [ebp - 0x54], ebx
xor eax, eax
cmp ebx, edi
cmovge ebx, eax
mov dword [ebp - 0x54], ebx
inc esi
mov dword [ebp - 0x60], esi
mov ecx, dword [ebp + 8]
jmp 0x507bf1
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
push dword [eax - 4]
call fcn.00634397
add esp, 4
test edi, edi
je 0x507c7e
xor esi, esi
test edi, edi
jle 0x507c73
jmp 0x507c60
mov eax, dword [ebp - 0x2c]
push dword [eax + esi*4]
call fcn.00634397
add esp, 4
inc esi
cmp esi, edi
jl 0x507c60
push dword [ebp - 0x2c]
call fcn.00634397
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8