Function at 0x46fa70
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x40
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0xdc]
mov ebp, 1
xor ebx, ebx
cmp eax, ebp
jne 0x46fab9
mov eax, dword [esi + 0x68]
cmp byte [eax + 0xb4], bl
je 0x46fab9
mov dword [esi + 0xdc], 2
mov byte [eax + 0xb4], bl
mov eax, dword [esi + 0x68]
fld dword [eax + 0xb8]
call fcn.0075bc00
inc eax
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0x68]
cmp byte [eax + 0xc0], bl
push edi
je 0x46fd0c
mov ecx, dword [eax + 0xc4]
mov byte [eax + 0xc0], bl
lea eax, [ecx - 2]
cmp eax, 0xd
mov dword [esi + 0xe8], ebx
mov dword [esi + 0xdc], ebp
ja case.default.0x46faed
jmp dword [eax*4 + 0x46ffa4]
mov dword [esi + 0xe8], 0x7f0198
mov dword [esi + 0xe4], 0x27
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f0238
mov dword [esi + 0xe4], 0x1a
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f02a8
mov dword [esi + 0xe4], 0x1e
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f0328
mov dword [esi + 0xe4], 0x1b
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f0398
mov dword [esi + 0xe4], 0x16
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f03f8
mov dword [esi + 0xe4], 0x13
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f0448
mov dword [esi + 0xe4], 0x43
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f0558
mov dword [esi + 0xe4], 0x38
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f0640
mov dword [esi + 0xe4], 0x22
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f06d0
mov dword [esi + 0xe4], 0x1e
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f0750
mov dword [esi + 0xe4], 0x1d
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f07c8
mov dword [esi + 0xe4], 0x2f
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f0888
mov dword [esi + 0xe4], 0x1b
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f08f8
mov dword [esi + 0xe4], 0x18
jmp 0x46fc57
mov dword [esi + 0xe8], 0x7f0070
mov dword [esi + 0xe4], 0x48
mov edi, dword [esi + 0xe8]
cmp edi, ebx
je 0x46fd0c
mov dword [esi + 0xdc], 3
mov dword [esi + 0xe0], ebx
movzx ecx, word [edi + 4]
movzx edx, word [edi]
push 0x40800000
mov dword [esp + 0x18], ecx
push ebx
sub esp, 8
fild dword [esp + 0x24]
mov dword [esp + 0x24], edx
lea ecx, [esp + 0x28]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fstp dword [esp]
call fcn.0046b290
movzx eax, byte [edi + 6]
movzx ecx, byte [edi + 2]
push 0x40800000
mov dword [esp + 0x18], eax
push ebx
sub esp, 8
fild dword [esp + 0x24]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x44]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fstp dword [esp]
call fcn.0046b290
lea ecx, [esp + 0x18]
mov dword [esp + 0x28], 0
call fcn.00459a30
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x34]
mov dword [esi + 0xec], edx
mov dword [esp + 0x44], 0
call fcn.00459a30
mov eax, dword [esp + 0x48]
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xdc]
sub eax, 2
je 0x46fe29
dec eax
je 0x46fd47
fld dword [esi + 0xec]
fsub dword [0x78860c]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fsub dword [0x787af4]
fstp dword [esi + 0xf0]
jmp 0x46fe88
mov edx, dword [esi + 0xe0]
inc edx
mov eax, edx
cmp eax, 4
mov dword [esi + 0xe0], edx
jne 0x46fd78
dec dword [esi + 0xe4]
mov dword [esi + 0xe0], ebx
jne 0x46fd71
mov dword [esi + 0xdc], ebp
jmp 0x46fd78
add dword [esi + 0xe8], 4
cmp dword [esi + 0xdc], ebp
je 0x46fe88
mov edi, dword [esi + 0xe8]
movzx ecx, word [edi + 4]
movzx edx, word [edi]
push 0x40800000
mov dword [esp + 0x18], ecx
push ebx
sub esp, 8
fild dword [esp + 0x24]
mov dword [esp + 0x24], edx
lea ecx, [esp + 0x44]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fstp dword [esp]
call fcn.0046b290
movzx eax, byte [edi + 6]
movzx ecx, byte [edi + 2]
push 0x40800000
mov dword [esp + 0x18], eax
push ebx
sub esp, 8
fild dword [esp + 0x24]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x28]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fstp dword [esp]
call fcn.0046b290
fild dword [esi + 0xe0]
lea ecx, [esp + 0x34]
fst dword [esp + 0x14]
fstp dword [esp + 0x44]
call fcn.00459a30
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x18]
mov dword [esi + 0xec], edx
mov dword [esp + 0x28], eax
call fcn.00459a30
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0xf0], ecx
jmp 0x46fe88
mov edx, dword [esi + 0xd4]
dec edx
mov dword [esi + 0xd4], edx
mov eax, edx
mov edx, 0
sets dl
dec edx
and eax, edx
cmp eax, ebx
mov dword [esi + 0xd4], eax
je 0x46fe82
mov eax, dword [esi + 0x68]
fld dword [0x788608]
fmul dword [eax + 0xbc]
fmul dword [0x78425c]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fadd dword [0x787af4]
fstp dword [esi + 0xf0]
jmp 0x46fe88
mov dword [esi + 0xdc], ebp
mov ecx, dword [esi + 0xec]
mov dword [esp + 0x10], ecx
fld dword [esp + 0x10]
pop edi
fcomp dword [0x784550]
fnstsw ax
test ah, 0x41
jne 0x46ff2b
fld dword [esp + 0xc]
fld dword [0x784500]
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 5
jp 0x46fec5
fstp st(0)
fld dword [0x784500]
mov edx, dword [esi + 0xf0]
fst dword [esp + 0x10]
fstp dword [esi + 0xec]
mov dword [esp + 0xc], edx
fld dword [esp + 0xc]
fcomp dword [0x7d7d3c]
fnstsw ax
test ah, 0x41
jne 0x46ff33
fld dword [esp + 0xc]
fld dword [0x784258]
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 5
jp 0x46ff07
fstp st(0)
fld dword [0x784258]
fcom dword [0x784478]
mov eax, dword [esp + 0x10]
mov dword [esi + 0x70], eax
fst dword [esi + 0xf0]
fst dword [esi + 0x84]
fnstsw ax
test ah, 0x41
jne 0x46ff3b
mov al, 1
jmp 0x46ff3d
fld dword [0x784550]
jmp 0x46fec5
fld dword [0x7d7d3c]
jmp 0x46ff07
xor al, al
mov ecx, dword [esi + 0x68]
fst dword [esi + 0x8c]
mov byte [esi + 0xbc], al
fstp dword [ecx + 0x44]
mov edx, dword [esi + 0x68]
mov eax, dword [esi + 0x70]
mov dword [edx + 0x48], eax
movzx edx, byte [esi + 0xbc]
mov ecx, dword [esi + 0x68]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fcomp dword [0x7d7d3c]
fnstsw ax
test ah, 0x44
jnp 0x46ff7b
mov al, 1
jmp 0x46ff7d
xor al, al
mov byte [ecx + 0x4c], al
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0xc8]
mov dword [eax + 0x50], ecx
mov edx, dword [esi + 0x68]
mov eax, dword [esi + 0x8c]
pop esi
pop ebp
mov dword [edx + 0x54], eax
pop ebx
add esp, 0x40
ret 4