Function at 0x459d30
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x45a0d3
sub esp, 0x1c
mov eax, dword [esp + 0x28]
test eax, eax
sete cl
setl dl
mov ebx, dword [esp + 0x24]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ecx
or edx, ebp
test dl, dl
jne 0x45a0bc
mov ecx, dword [esp + 0x30]
test ecx, ecx
jl 0x45a0a6
lea eax, [0x5f0074]
mov dword [esp], eax
call fcn.0047a230
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
test eax, eax
je 0x459d98
mov ecx, dword [esp + 0x20]
jmp 0x459db3
mov ecx, dword [esp + 0x20]
movzx edx, byte [ecx + 6]
test dl, dl
je 0x459db3
lea eax, [ecx + 0x30]
mov dword [esp], eax
call fcn.0040bea0
mov ecx, dword [esp + 0x20]
mov dword [esp], ecx
call fcn.00459470
mov eax, dword [esp + 0x18]
test eax, eax
je 0x459dcf
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.004598e0
mov eax, dword [esp + 0x20]
mov dword [esp], eax
lea ecx, [0x52700f]
mov dword [esp + 4], ecx
mov dword [esp + 8], 6
call fcn.00459430
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov ebx, dword [esp + 0x2c]
mov dword [eax + 0x14], ebx
mov ebx, dword [esp + 0x30]
mov dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x459e4b
mov ebp, dword [0x5efdd0]
test ebp, ebp
jne 0x459e1d
mov ebp, dword [esp + 0x3c]
jmp 0x459e37
call fcn.004757e0
mov dword [edi], ebx
mov ebp, dword [eax + 0x1c]
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0x3c]
mov dword [edi + 8], ebp
mov esi, dword [eax + 0x24]
mov dword [edi + 0xc], esi
mov dword [eax + 0x1c], ebx
mov ebx, dword [esp + 0x38]
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ebp
mov ebx, dword [esp + 0x40]
mov dword [eax + 0x28], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov ebx, dword [eax + 0xc]
mov ebp, dword [eax + 0x10]
mov esi, dword [esp + 0x24]
mov dword [eax + 0xc], esi
mov edi, dword [esp + 0x28]
mov dword [eax + 0x10], edi
movzx ecx, byte [eax + 5]
test ebp, ebp
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
test ebx, ebx
seta bl
and ebx, esi
or ebp, ebx
xchg ebp, eax
mov byte [esp + 0xd], al
xchg ebp, eax
test cl, 1
je 0x459f58
or ecx, 2
mov byte [eax + 5], cl
test cl, 4
je 0x459ec4
mov ecx, dword [eax + 0x2c]
test byte [ecx], al
add ecx, 0x14
mov dword [esp], ecx
mov dword [esp + 4], 0xffffffff
call fcn.0047a2a0
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 5]
and ecx, 0xfffffffb
mov byte [eax + 5], cl
mov ecx, dword [eax + 0x2c]
test byte [ecx], al
add ecx, 0x28
mov dword [esp], ecx
call fcn.0047a2d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test ecx, ecx
sete dl
test eax, eax
sete bl
and edx, ebx
test dl, dl
jne 0x459f09
mov edx, dword [esp + 0x28]
cmp edx, ecx
sete cl
setl bl
mov ebp, dword [esp + 0x24]
cmp ebp, eax
setb al
and eax, ecx
or eax, ebx
test al, al
je 0x459f4e
mov eax, dword [esp + 0x20]
lea ecx, [eax + 4]
movzx edx, byte [eax + 5]
mov dword [esp], ecx
mov byte [esp + 4], dl
call fcn.0047a410
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x2c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 8], edx
call fcn.0045b420
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov eax, 1
jmp 0x459f50
xor eax, eax
mov ecx, eax
mov eax, dword [esp + 0x20]
jmp 0x459f5a
xor ecx, ecx
mov byte [esp + 0xc], cl
mov dword [esp], eax
call fcn.0045a0e0
movzx eax, byte [esp + 4]
mov byte [esp + 0xe], al
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x459f82
mov edx, dword [esp + 0x20]
movzx ebx, byte [esp + 0xd]
jmp 0x459ff4
mov edx, dword [esp + 0x20]
movzx ebx, byte [edx + 6]
test bl, bl
je 0x459fef
inc dword [edx + 0x28]
mov ebx, dword [esp + 0x14]
test ebx, ebx
sete bl
mov ebp, dword [esp + 0x10]
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebx, ebp
test bl, bl
jne 0x459fb4
movzx ebx, byte [esp + 0xd]
jmp 0x459ff4
lea eax, [edx + 0x34]
mov dword [esp], eax
call fcn.0047a230
mov eax, dword [esp + 4]
test eax, eax
jle 0x459fdb
movzx eax, byte [esp + 0xe]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ebx, 1
jmp 0x459ff4
movzx eax, byte [esp + 0xe]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
movzx ebx, byte [esp + 0xd]
jmp 0x459ff4
movzx ebx, byte [esp + 0xd]
mov byte [esp + 0xd], bl
mov dword [esp], edx
call fcn.004594c0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x45a013
mov eax, dword [esp + 0x20]
movzx ebx, byte [esp + 0xd]
jmp 0x45a062
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 6]
test cl, cl
jne 0x45a026
movzx ebx, byte [esp + 0xd]
jmp 0x45a062
mov dword [esp], eax
call fcn.00459520
mov eax, dword [esp + 4]
mov dword [esp], eax
call fcn.004068c0
movzx eax, byte [esp + 4]
mov byte [esp + 0xf], al
mov ecx, dword [esp + 0x20]
lea edx, [ecx + 0x30]
mov dword [esp], edx
call fcn.0040c0c0
movzx ebx, byte [esp + 0xd]
movzx eax, byte [esp + 0xf]
or ebx, eax
mov eax, dword [esp + 0x20]
mov byte [esp + 0xd], bl
movzx ecx, byte [esp + 0xe]
test cl, cl
je 0x45a07c
mov dword [esp], eax
call fcn.0045a1a0
movzx ebx, byte [esp + 0xd]
movzx eax, byte [esp + 0xc]
test al, al
je 0x45a09e
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
call fcn.004458c0
movzx ebx, byte [esp + 0xd]
mov byte [esp + 0x44], bl
add esp, 0x1c
ret
lea eax, [0x52e31f]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.004700b0
lea eax, [0x52c6ff]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call fcn.004700b0
nop
call fcn.004743b0
jmp fcn.00459d30