Function at 0x409b90
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x7c
mov edx, dword [ebp + 8]
mov eax, dword [0x562cc8]
mov dword [ebp - 0x24], eax
movzx eax, byte [edx]
mov word [ecx + 0x1d8], ax
movzx eax, byte [edx + 1]
mov ecx, eax
and ecx, 3
cmp cl, 2
je 0x409dd0
cmp cl, 1
mov byte [ebx + 0x1c7], 0
jne 0x409dd7
mov ecx, eax
mov byte [ebx + 0x1c6], 1
and ecx, 0xc
cmp cl, 4
jne 0x409dec
mov byte [ebx + 0x1c9], 1
mov byte [ebx + 0x1c8], 0
test al, 0x10
setne byte [ebx + 0x1ca]
movzx eax, word [edx + 4]
movzx ecx, byte [edx + 6]
rol ax, 8
movzx eax, ax
shl eax, 8
or eax, ecx
movzx ecx, byte [edx + 7]
shl eax, 8
or eax, ecx
mov dword [ebx + 0x1a0], eax
movzx eax, byte [edx + 0xa]
movzx esi, byte [edx + 0xb]
movzx ecx, word [edx + 8]
shl eax, 0x18
shl esi, 0x10
rol cx, 8
or eax, esi
mov ah, byte [edx + 0xc]
mov al, byte [edx + 0xd]
mov dword [ebx + 0x1d0], eax
movzx edi, byte [edx + 0xe]
movzx eax, ax
movzx esi, byte [edx + 0xf]
shl edi, 0x18
shl esi, 0x10
or eax, edi
movzx edi, byte [edx + 0x12]
or eax, esi
movzx esi, byte [edx + 0x13]
mov ah, byte [edx + 0x10]
mov al, byte [edx + 0x11]
shl edi, 0x18
mov dword [ebp - 0x40], eax
movzx eax, ax
shl esi, 0x10
or eax, edi
movzx edi, byte [edx + 0x16]
or eax, esi
movzx esi, byte [edx + 0x17]
mov ah, byte [edx + 0x14]
mov al, byte [edx + 0x15]
shl edi, 0x18
mov dword [ebp - 0x44], eax
movzx eax, ax
shl esi, 0x10
or eax, edi
movzx edi, byte [edx + 0x1a]
or eax, esi
movzx esi, byte [edx + 0x1b]
mov ah, byte [edx + 0x18]
mov al, byte [edx + 0x19]
shl edi, 0x18
mov dword [ebp - 0x48], eax
movzx eax, ax
shl esi, 0x10
or eax, edi
or eax, esi
mov ah, byte [edx + 0x1c]
mov al, byte [edx + 0x1d]
mov dword [ebp - 0x4c], eax
movzx eax, word [edx + 0x22]
mov word [ebp - 0x2a], ax
movzx eax, word [edx + 0x24]
mov word [ebp - 0x3a], ax
movzx eax, word [edx + 0x26]
mov word [ebp - 0x2c], ax
movzx eax, word [edx + 0x28]
mov word [ebp - 0x38], ax
movzx eax, word [edx + 0x2a]
mov word [ebp - 0x2e], ax
movzx eax, word [edx + 0x2c]
mov word [ebp - 0x36], ax
movzx eax, word [edx + 0x2e]
mov word [ebp - 0x30], ax
movzx eax, word [edx + 0x30]
mov word [ebp - 0x34], ax
movzx eax, word [edx + 0x32]
mov word [ebp - 0x32], ax
movzx eax, cx
mov ecx, ebx
mov dword [esp], eax
call fcn.00409440
mov eax, dword [ebx + 0x194]
sub esp, 4
cmp eax, 2
je 0x409e10
cmp eax, 3
jne 0x409db4
movzx eax, word [ebp - 0x2a]
rol ax, 8
mov word [ebx + 0x1ac], ax
movzx eax, word [ebp - 0x3a]
rol ax, 8
mov word [ebx + 0x1ae], ax
movzx eax, word [ebp - 0x2e]
rol ax, 8
mov word [ebx + 0x1b0], ax
movzx eax, word [ebp - 0x2c]
rol ax, 8
mov word [ebx + 0x1b2], ax
movzx eax, word [ebp - 0x38]
rol ax, 8
mov word [ebx + 0x1b4], ax
movzx eax, word [ebp - 0x36]
rol ax, 8
mov word [ebx + 0x1b6], ax
movzx eax, word [ebp - 0x30]
rol ax, 8
mov word [ebx + 0x1b8], ax
movzx eax, word [ebp - 0x34]
rol ax, 8
mov word [ebx + 0x1ba], ax
movzx eax, word [ebp - 0x32]
rol ax, 8
mov word [ebx + 0x1bc], ax
lea ecx, [ebp - 0x24]
call fcn.004794f0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov byte [ebx + 0x1c7], 1
mov ecx, eax
mov byte [ebx + 0x1c6], 0
and ecx, 0xc
cmp cl, 4
je 0x409be7
cmp cl, 8
mov byte [ebx + 0x1c9], 0
jne 0x409bee
mov byte [ebx + 0x1c8], 1
jmp 0x409bf5
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 0x288]
mov dword [esp], 0x18
mov dword [ebp - 0x50], eax
call fcn.00447ca8
mov edi, dword [0x5632bc]
mov ecx, eax
mov dword [esp], 0
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], edi
call edi
lea esi, [ebp - 0x20]
sub esp, 4
mov dword [esp], 0x49283a
mov ecx, esi
call fcn.004794b0
sub esp, 4
mov eax, 0x20
lea edi, [ebp - 0x1c]
mov word [esp + 0x18], ax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x66
mov dword [esp + 0xc], 0
mov ecx, edi
mov eax, dword [0x562ff4]
fld dword [ebx + 0x1d0]
mov dword [esp], esi
fstp qword [esp + 4]
mov dword [ebp - 0x58], eax
call eax
mov ecx, dword [ebp - 0x5c]
sub esp, 0x1c
mov dword [esp], edi
call fcn.0046c720
sub esp, 4
mov ecx, edi
call fcn.004794f0
mov ecx, esi
call fcn.004794f0
mov ecx, dword [ebp - 0x5c]
mov dword [esp], 0x84
call fcn.0046c6c0
mov ecx, dword [ebp - 0x5c]
mov edx, dword [0x563240]
sub esp, 4
mov dword [esp + 4], 1
mov dword [esp], 0
mov dword [esp + 8], ecx
mov dword [ebp - 0x5c], edx
mov ecx, dword [ebp - 0x50]
call edx
sub esp, 0xc
mov dword [esp], 0x18
call fcn.00447ca8
mov ecx, eax
mov dword [esp], 0
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x54]
call edx
sub esp, 4
mov ecx, esi
mov dword [esp], 0x49283a
call fcn.004794b0
fld dword [ebp - 0x40]
sub esp, 4
mov eax, 0x20
mov word [esp + 0x18], ax
mov dword [esp + 0x14], 1
mov ecx, edi
fstp qword [esp + 4]
mov dword [esp + 0x10], 0x66
mov dword [esp + 0xc], 0
mov dword [esp], esi
mov eax, dword [ebp - 0x58]
call eax
mov ecx, dword [ebp - 0x60]
sub esp, 0x1c
mov dword [esp], edi
call fcn.0046c720
sub esp, 4
mov ecx, edi
call fcn.004794f0
mov ecx, esi
call fcn.004794f0
mov ecx, dword [ebp - 0x60]
mov dword [esp], 0x84
call fcn.0046c6c0
mov ecx, dword [ebp - 0x60]
sub esp, 4
mov edx, dword [ebp - 0x5c]
mov dword [esp + 4], 1
mov dword [esp], 1
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x50]
call edx
sub esp, 0xc
mov dword [esp], 0x18
call fcn.00447ca8
mov ecx, eax
mov dword [esp], 0
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x54]
call edx
sub esp, 4
mov ecx, esi
mov dword [esp], 0x49283a
call fcn.004794b0
fld dword [ebp - 0x44]
sub esp, 4
mov ecx, 0x20
mov word [esp + 0x18], cx
mov dword [esp + 0x14], 1
mov ecx, edi
fstp qword [esp + 4]
mov dword [esp + 0x10], 0x66
mov dword [esp + 0xc], 0
mov dword [esp], esi
mov eax, dword [ebp - 0x58]
call eax
mov ecx, dword [ebp - 0x40]
sub esp, 0x1c
mov dword [esp], edi
call fcn.0046c720
sub esp, 4
mov ecx, edi
call fcn.004794f0
mov ecx, esi
call fcn.004794f0
mov ecx, dword [ebp - 0x40]
mov dword [esp], 0x84
call fcn.0046c6c0
mov ecx, dword [ebp - 0x40]
sub esp, 4
mov edx, dword [ebp - 0x5c]
mov dword [esp + 4], 1
mov dword [esp], 2
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x50]
call edx
sub esp, 0xc
mov dword [esp], 0x18
call fcn.00447ca8
mov ecx, eax
mov dword [esp], 0
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x54]
call edx
sub esp, 4
mov ecx, esi
mov dword [esp], 0x49283a
call fcn.004794b0
fld dword [ebp - 0x48]
sub esp, 4
mov edx, 0x20
mov word [esp + 0x18], dx
mov dword [esp + 0x14], 1
mov ecx, edi
fstp qword [esp + 4]
mov dword [esp + 0x10], 0x66
mov dword [esp + 0xc], 0
mov dword [esp], esi
mov eax, dword [ebp - 0x58]
call eax
mov ecx, dword [ebp - 0x40]
sub esp, 0x1c
mov dword [esp], edi
call fcn.0046c720
sub esp, 4
mov ecx, edi
call fcn.004794f0
mov ecx, esi
call fcn.004794f0
mov ecx, dword [ebp - 0x40]
mov dword [esp], 0x84
call fcn.0046c6c0
mov ecx, dword [ebp - 0x40]
sub esp, 4
mov edx, dword [ebp - 0x5c]
mov dword [esp + 4], 1
mov dword [esp], 3
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x50]
call edx
sub esp, 0xc
mov dword [esp], 0x18
call fcn.00447ca8
mov ecx, eax
mov dword [esp], 0
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x54]
call edx
sub esp, 4
mov ecx, esi
mov dword [esp], 0x49283a
call fcn.004794b0
fld dword [ebp - 0x4c]
sub esp, 4
mov eax, 0x20
mov word [esp + 0x18], ax
mov dword [esp + 0x14], 1
mov ecx, edi
fstp qword [esp + 4]
mov dword [esp + 0x10], 0x66
mov dword [esp + 0xc], 0
mov dword [esp], esi
mov eax, dword [ebp - 0x58]
call eax
mov ecx, dword [ebp - 0x40]
sub esp, 0x1c
mov dword [esp], edi
call fcn.0046c720
sub esp, 4
mov ecx, edi
call fcn.004794f0
mov ecx, esi
call fcn.004794f0
mov edi, dword [ebp - 0x40]
mov dword [esp], 0x84
mov ecx, edi
call fcn.0046c6c0
sub esp, 4
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x5c]
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], 4
call edx
sub esp, 0xc
mov eax, dword [ebx + 0x194]
jmp 0x409d24