Function at 0x68e4e8
Capabilities:
Enumerate pe sections

Disassembly:
push esi
push ebp
push ebx
sub esp, 0xa4
mov ebp, ecx
mov ebx, dword [esp + 0xb4]
mov ecx, dword [ebp + 0xdf4]
push dword [esp + 0xb8]
call fcn.006a6a60
test eax, eax
je 0x68e887
mov ecx, eax
call fcn.006a60dc
mov esi, eax
test esi, esi
je 0x68e887
mov edx, dword [esi + 0xdc]
test dl, 4
jne 0x68e534
xor edx, edx
jmp 0x68e542
test dl, 8
je 0x68e540
mov edx, 1
jmp 0x68e542
xor edx, edx
test edx, edx
jne 0x68e564
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x7c]
lea ecx, [ebp + 0xdf8]
movsx edx, al
push edx
call fcn.0069792c
test eax, eax
je 0x68e895
lea ecx, [esp + 0x30]
mov edx, dword [ebp + 0x31c]
movzx eax, word [edx]
mov word [esp], ax
movzx eax, word [edx + 2]
mov word [esp + 2], ax
movzx eax, word [edx + 4]
mov word [esp + 4], ax
movzx eax, word [edx + 6]
mov word [esp + 6], ax
mov eax, dword [edx + 8]
mov dword [esp + 8], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x10], eax
movzx eax, word [edx + 0x14]
mov word [esp + 0x14], ax
movzx eax, word [edx + 0x16]
mov word [esp + 0x16], ax
movzx eax, word [edx + 0x18]
mov word [esp + 0x18], ax
movzx eax, word [edx + 0x1a]
mov word [esp + 0x1a], ax
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x24], eax
mov eax, dword [edx + 0x28]
mov dword [esp + 0x28], eax
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x2c], edx
mov edx, dword [ebp + 0x320]
movzx eax, word [edx]
mov word [esp + 0x30], ax
movzx eax, word [edx + 2]
mov word [esp + 0x32], ax
movzx eax, word [edx + 4]
mov word [esp + 0x34], ax
movzx eax, word [edx + 6]
mov word [esp + 0x36], ax
movzx eax, word [edx + 8]
mov word [esp + 0x38], ax
movzx eax, word [edx + 0xa]
mov word [esp + 0x3a], ax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x48], eax
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x4c], edx
mov edx, dword [ebp + 0x2b4]
movzx eax, word [edx]
mov word [esp + 0x50], ax
movzx eax, word [edx + 2]
mov word [esp + 0x52], ax
movzx eax, word [edx + 4]
mov word [esp + 0x54], ax
movzx eax, word [edx + 6]
mov word [esp + 0x56], ax
movzx eax, word [edx + 8]
mov word [esp + 0x58], ax
movzx eax, word [edx + 0xa]
mov word [esp + 0x5a], ax
movzx eax, word [edx + 0xc]
mov word [esp + 0x5c], ax
movzx eax, word [edx + 0xe]
mov word [esp + 0x5e], ax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x60], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x64], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x68], eax
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x6c], eax
mov edx, dword [edx + 0x20]
mov dword [esp + 0x70], edx
lea eax, [esp + 0x50]
push eax
mov edx, dword [esi]
push ecx
lea eax, [esp + 8]
push eax
mov ecx, esi
call dword [edx + 0x5c]
movzx edx, byte [esi + 0xf2]
cmp edx, 1
je 0x68e819
lea esi, [esp + 0x50]
lea edx, [esp]
lea eax, [esp + 0x30]
push eax
push edx
push esi
push ebp
push ebx
call fcn.0069807c
movsx esi, word [esp + 0x64]
movsx ecx, word [esp + 0x14]
fld dword [ebp + 0x278]
mov dword [esp + 0x90], esi
fild dword [esp + 0x90]
fmul st(1)
lea eax, [ecx + esi]
mov dword [esp + 0x88], eax
fild dword [esp + 0x88]
faddp st(1)
fnstcw word [esp + 0x98]
movzx eax, word [esp + 0x98]
or eax, 0xc00
mov dword [esp + 0xa0], eax
fldcw word [esp + 0xa0]
fistp dword [esp + 0xa8]
fldcw word [esp + 0x98]
movzx eax, word [esp + 0x16]
sub eax, ecx
movsx eax, ax
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x90], eax
fild dword [esp + 0x90]
fmul st(1), st(0)
faddp st(1)
fnstcw word [esp + 0x98]
movzx eax, word [esp + 0x98]
or eax, 0xc00
mov dword [esp + 0xa0], eax
fldcw word [esp + 0xa0]
fistp dword [esp + 0xa8]
fldcw word [esp + 0x98]
add edx, dword [esp + 0xa8]
mov word [ebx], dx
fld dword [ebp + 0x284]
movsx ebp, word [ebx + 2]
mov dword [esp + 0x90], ebp
fild dword [esp + 0x90]
fmul st(1), st(0)
faddp st(1)
fnstcw word [esp + 0x98]
movzx eax, word [esp + 0x98]
or eax, 0xc00
mov dword [esp + 0xa0], eax
fldcw word [esp + 0xa0]
fistp dword [esp + 0xa8]
fldcw word [esp + 0x98]
mov eax, dword [esp + 0xa8]
mov word [ebx + 2], ax
mov eax, 2
add esp, 0xb8
pop ebx
pop ebp
pop esi
ret 8
movzx eax, byte [esi + 0xf3]
cmp eax, 1
jne 0x68e6dc
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], edi
mov eax, 9
lea esi, [ebp + 0xdf8]
mov ebx, eax
push ebx
mov ecx, esi
call fcn.0069792c
mov ecx, eax
test ecx, ecx
je 0x68e865
lea eax, [esp]
lea edi, [esp + 0x30]
lea ebp, [esp + 0x50]
push ebp
mov edx, dword [ecx]
push edi
push eax
call dword [edx + 0x5c]
add ebx, 1
cmp ebx, 0xc
jle 0x68e844
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
jmp 0x68e6dc
xor eax, eax
add esp, 0xa4
pop ebx
pop ebp
pop esi
ret 8
mov eax, 1
add esp, 0xa4
pop ebx
pop ebp
pop esi
ret 8