Function at 0x4465a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
add eax, edx
push ebx
movzx ecx, byte [edx + 0xd]
mov bh, byte [edx + 0x10]
push ebp
movzx ebp, byte [edx + 0xf]
mov dword [esp + 0x1c], eax
movzx eax, byte [edx + 0xc]
shl ecx, 8
add eax, ecx
shl ebp, 8
push esi
mov dword [esp + 0x14], eax
movzx eax, byte [edx + 0xe]
push edi
add ebp, eax
movzx edi, bh
mov dword [esp + 0x14], ebp
mov byte [esp + 0x30], bh
cmp edi, 0x20
jne 0x4465f0
mov dword [esp + 0x20], 4
jmp 0x446612
cmp edi, 0x18
jne 0x4465ff
mov dword [esp + 0x20], 3
jmp 0x446612
mov ecx, dword [esp + 0x30]
cmp edi, 0x10
mov eax, 2
cmove ecx, eax
mov dword [esp + 0x20], ecx
mov al, byte [edx]
mov esi, 0x12
test al, al
je 0x446623
movzx esi, al
add esi, 0x12
cmp byte [edx + 1], 0
je 0x446646
movzx ecx, byte [edx + 6]
movzx eax, byte [edx + 5]
shl ecx, 8
add ecx, eax
test ecx, ecx
jle 0x446646
movzx eax, byte [edx + 7]
shr eax, 3
imul eax, ecx
add esi, eax
movzx ecx, byte [edx + 0x11]
lea eax, [esi + edx]
and ecx, 0x30
mov dword [esp + 0x28], ecx
cmp ecx, 0x20
je 0x44666b
cmp ecx, 0x30
je 0x44666b
mov esi, dword [esp + 0x40]
shr esi, 1
not esi
and esi, 1
jmp 0x446672
mov esi, dword [esp + 0x40]
and esi, 2
movzx ecx, byte [edx + 2]
mov dword [esp + 0x1c], esi
sub ecx, 2
je 0x44696a
sub ecx, 8
jne case.0x44669f.8
add edi, 0xfffffff8
cmp edi, 0x18
ja case.0x44669f.8
movzx ecx, byte [edi + 0x446aa8]
jmp dword [ecx*4 + 0x446a9c]
imul ebp, dword [esp + 0x18]
xor edi, edi
mov edx, dword [esp + 0x38]
mov esi, edx
test ebp, ebp
je 0x44683d
nop dword [eax + eax]
mov bl, byte [eax]
inc eax
cmp bl, 0x80
jae 0x446780
add bl, 1
mov byte [esp + 0x34], bl
je 0x446831
nop dword [eax]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, dword [esp + 0x24]
ja case.0x44669f.8
cmp bh, 0x20
jne 0x446717
mov cl, byte [eax]
mov dh, byte [eax + 3]
mov dl, byte [eax + 1]
mov bl, byte [eax + 2]
add eax, 4
mov byte [esi], cl
mov byte [esi + 1], dl
mov byte [esi + 2], bl
mov byte [esi + 3], dh
add esi, 4
mov byte [esp + 0x13], dh
jmp 0x446760
cmp bh, 0x18
jne 0x446729
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov bl, byte [eax + 2]
add eax, 3
jmp 0x446755
movzx edx, byte [eax + 1]
movzx ecx, byte [eax]
add eax, 2
shl dx, 8
or dx, cx
movzx ebx, dx
mov edx, ebx
mov cl, bl
shr edx, 5
shr bx, 0xa
mov bh, byte [esp + 0x30]
shl cl, 3
shl dl, 3
shl bl, 3
mov byte [esi], cl
mov byte [esi + 1], dl
mov byte [esi + 2], bl
add esi, 3
mov bl, byte [esp + 0x34]
inc edi
dec bl
mov byte [esp + 0x34], bl
cmp edi, ebp
ja case.0x44669f.8
test bl, bl
jne 0x4466e0
jmp 0x446831
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, dword [esp + 0x24]
ja case.0x44669f.8
add bl, 0x81
lea ecx, [eax + 1]
cmp bh, 0x20
jne 0x4467b8
mov al, byte [eax]
mov byte [esp + 0x34], al
mov eax, ecx
mov bh, byte [eax + 2]
mov dl, byte [eax]
mov cl, byte [eax + 1]
add eax, 3
mov byte [esp + 0x13], bh
mov bh, byte [esp + 0x30]
jmp 0x4467fa
cmp bh, 0x18
jne 0x4467cf
mov al, byte [eax]
mov byte [esp + 0x34], al
mov eax, ecx
mov dl, byte [eax]
mov cl, byte [eax + 1]
add eax, 2
jmp 0x4467fa
movzx edx, byte [ecx]
movzx ecx, byte [eax]
add eax, 2
shl dx, 8
or dx, cx
movzx ecx, dx
mov dl, cl
shl dl, 3
mov byte [esp + 0x34], dl
mov edx, ecx
shr edx, 5
shr cx, 0xa
shl dl, 3
shl cl, 3
test bl, bl
je 0x446831
nop
mov bh, byte [esp + 0x34]
mov byte [esi], bh
mov bh, byte [esp + 0x30]
mov byte [esi + 1], dl
mov byte [esi + 2], cl
add esi, 3
cmp bh, 0x20
jne 0x446823
mov bh, byte [esp + 0x13]
mov byte [esi], bh
inc esi
mov bh, byte [esp + 0x30]
inc edi
cmp edi, ebp
ja case.0x44669f.8
add bl, 0xff
jne 0x446800
cmp edi, ebp
jb 0x4466c0
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test al, 3
je 0x44688e
mov ebx, ebp
test ebp, ebp
je 0x44688e
mov ecx, ebx
lea ebp, [eax + eax*2]
lea edi, [ecx - 1]
lea esi, [ecx - 1]
imul esi, dword [esp + 0x3c]
lea edi, [edi + edi*2]
imul edi, eax
add esi, edx
add edi, edx
nop dword [eax]
push ebp
push edi
push esi
call fcn.00434c20
mov eax, dword [esp + 0x48]
add esp, 0xc
sub edi, ebp
sub esi, eax
sub ebx, 1
jne 0x446870
mov ebp, dword [esp + 0x14]
jmp 0x446892
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x1c], 0
je 0x446900
push eax
call fcn.005785d4
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x446900
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
cmp ebp, eax
jle 0x4468f7
mov ecx, dword [esp + 0x3c]
lea esi, [ebp - 1]
mov edi, dword [esp + 0x38]
imul esi, ecx
add esi, edi
sub ebp, eax
push ecx
push edi
push ebx
call fcn.00434c20
push dword [esp + 0x48]
push esi
push edi
call fcn.00434c20
push dword [esp + 0x54]
push ebx
push esi
call fcn.00434c20
mov ecx, dword [esp + 0x60]
add esp, 0x24
sub esi, ecx
add edi, ecx
sub ebp, 1
jne 0x4468c5
mov ebp, dword [esp + 0x14]
push ebx
call fcn.005785df
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, 0x30
je 0x446912
cmp eax, 0x10
jne case.0x44669f.8
test ebp, ebp
je case.0x44669f.8
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x38]
mov esi, ebx
test eax, eax
je 0x446959
mov edi, eax
nop word [eax + eax]
mov edx, dword [esi]
lea esi, [esi + 3]
mov eax, edx
sar eax, 0x10
movzx ecx, al
movzx eax, dl
and edx, 0xff00ff00
shl eax, 0x10
or ecx, eax
or ecx, edx
mov dword [esi - 3], ecx
sub edi, 1
jne 0x446930
mov eax, dword [esp + 0x18]
add ebx, dword [esp + 0x3c]
sub ebp, 1
jne 0x446922
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
cmp bh, 0x10
je 0x446a2e
cmp bh, 0x18
je 0x446981
cmp bh, 0x20
jne case.0x44669f.8
mov ecx, dword [esp + 0x14]
xor ebp, ebp
shr edi, 3
test ecx, ecx
je case.0x44669f.8
lea edx, [ecx - 1]
mov dword [esp + 0x30], edx
nop dword [eax]
test esi, esi
mov ecx, ebp
cmovne ecx, edx
mov edx, dword [esp + 0x38]
imul ecx, dword [esp + 0x3c]
add edx, ecx
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x446a12
mov esi, ecx
cmp bh, 0x20
jne 0x4469f0
movzx ecx, byte [eax]
lea edx, [edx + 4]
mov byte [edx - 4], cl
movzx ecx, byte [eax + 1]
mov byte [edx - 3], cl
movzx ecx, byte [eax + 2]
mov byte [edx - 2], cl
movzx ecx, byte [eax + 3]
add eax, edi
mov byte [edx - 1], cl
sub esi, 1
jne 0x4469c1
jmp 0x446a0e
movzx ecx, byte [eax]
lea edx, [edx + 3]
mov byte [edx - 3], cl
movzx ecx, byte [eax + 1]
mov byte [edx - 2], cl
movzx ecx, byte [eax + 2]
add eax, edi
mov byte [edx - 1], cl
sub esi, 1
jne 0x4469f0
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
inc ebp
dec edx
mov dword [esp + 0x30], edx
cmp ebp, dword [esp + 0x14]
jb 0x4469a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
xor ebx, ebx
test ebp, ebp
je case.0x44669f.8
mov ecx, dword [esp + 0x18]
dec ebp
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
test edi, edi
mov esi, ebx
cmovne esi, ebp
test ecx, ecx
je 0x446a8d
imul esi, dword [esp + 0x3c]
mov edi, ecx
add esi, dword [esp + 0x38]
movzx edx, word [eax]
lea esi, [esi + 3]
mov cl, dl
add eax, 2
shl cl, 3
mov byte [esi - 3], cl
mov ecx, edx
shr ecx, 2
shr edx, 7
and cl, 0xf8
and dl, 0xf8
mov byte [esi - 2], cl
mov byte [esi - 1], dl
sub edi, 1
jne 0x446a57
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
inc ebx
dec ebp
cmp ebx, edx
jb 0x446a41
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret