Function at 0x46c1b0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x18
push ebp
mov ebp, dword [esp + 0x20]
push esi
mov esi, ecx
cmp dword [esi + 0x440], 0x4000018
push edi
mov edi, eax
jne 0x46c6a6
mov eax, 0x55555556
imul dword [esp + 0x30]
mov eax, edx
shr eax, 0x1f
add eax, edx
test ebp, ebp
mov dword [esp + 0x30], eax
jge 0x46c1f2
sub dword [esp + 0x38], ebp
add eax, ebp
mov dword [esp + 0x30], eax
xor ebp, ebp
mov edx, dword [esp + 0x2c]
test edx, edx
jge 0x46c20e
sub dword [esp + 0x3c], edx
add dword [esp + 0x34], edx
mov dword [esp + 0x2c], 0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esi + 0x44c]
add eax, ebp
cmp eax, ecx
jle 0x46c220
sub ecx, ebp
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [esi + 0x450]
add ecx, edx
cmp ecx, eax
jle 0x46c236
sub eax, edx
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x18]
push ebx
movzx ebx, word [esi + 0x22]
imul eax, ebx
add eax, 7
cdq
and edx, 7
add eax, edx
mov ecx, eax
mov eax, dword [esi + 0x1c]
sub eax, dword [esp + 0x30]
sar ecx, 3
sub eax, 1
add ecx, 3
and ecx, 0xfffffffc
imul eax, ecx
mov dword [esp + 0x1c], eax
mov eax, ebx
imul eax, ebp
mov ebp, dword [esp + 0x1c]
cdq
and edx, 7
add eax, edx
sar eax, 3
add ebp, eax
add ebp, dword [esi + 0x43c]
movzx esi, word [edi + 0x22]
mov eax, dword [edi + 0x18]
imul eax, esi
mov ebx, dword [edi + 0x1c]
sub ebx, dword [esp + 0x40]
add eax, 7
cdq
neg ecx
and edx, 7
add eax, edx
mov dword [esp + 0x20], ecx
mov ecx, eax
mov eax, esi
imul eax, dword [esp + 0x3c]
sar ecx, 3
add ecx, 3
sub ebx, 1
and ecx, 0xfffffffc
imul ebx, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
add ebx, eax
add ebx, dword [edi + 0x43c]
mov eax, dword [esp + 0x38]
neg ecx
test eax, eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], ecx
jle 0x46c6a5
mov dword [esp + 0x1c], eax
jmp 0x46c2f0
cmp dword [esp + 0x34], 0
mov dword [esp + 0x10], 0
jle 0x46c68a
add ebx, 3
add ebp, 1
lea esp, [esp]
movzx edi, byte [ebx - 3]
imul edi, edi, 0x35830
add edi, 0x8000
sar edi, 0x10
cmp edi, 0xff
jle 0x46c330
mov edi, 0xff
cmp dword [esp + 0x10], 0
jne 0x46c33b
mov esi, edi
jmp 0x46c39d
movzx eax, byte [ebx - 6]
mov edx, eax
imul edx, edx, 0x8c59d
add edx, 0x8000
and edx, 0xffff0000
cmp edx, 0xff0000
jge 0x46c35f
xor esi, esi
jmp 0x46c3aa
lea esi, [eax - 0x1d]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
imul ecx, ecx, 0x1b41e
add ecx, 0x8000
sar ecx, 0x10
cmp ecx, 0xff
jge 0x46c386
mov esi, eax
jmp 0x46c38e
imul ecx, ecx, 0xffff69ba
add esi, ecx
imul esi, esi, 0x35830
add esi, 0x8000
sar esi, 0x10
cmp esi, 0xff
jle 0x46c3aa
mov esi, 0xff
movzx eax, byte [ebx]
mov ecx, eax
imul ecx, ecx, 0x1b41e
add ecx, 0x8000
and ecx, 0xffff0000
add edi, esi
cmp ecx, 0xff0000
jge 0x46c3cf
xor esi, esi
jmp 0x46c41d
lea esi, [eax - 0x96]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
imul ecx, ecx, 0x8c59d
add ecx, 0x8000
sar ecx, 0x10
cmp ecx, 0xff
jge 0x46c3f9
mov esi, eax
jmp 0x46c401
imul ecx, ecx, 0xffffe2d1
add esi, ecx
imul esi, esi, 0x35830
add esi, 0x8000
sar esi, 0x10
cmp esi, 0xff
jle 0x46c41d
mov esi, 0xff
lea ecx, [esi + edi]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [ebp + 1], al
movzx ecx, byte [ebx]
imul ecx, ecx, 0x1b41e
add ecx, 0x8000
sar ecx, 0x10
cmp ecx, 0xff
jle 0x46c450
mov ecx, 0xff
movzx eax, byte [ebx - 3]
mov edx, eax
imul edx, edx, 0x35830
add edx, 0x8000
and edx, 0xffff0000
cmp edx, 0xff0000
jge 0x46c474
xor esi, esi
jmp 0x46c4bf
lea esi, [eax - 0x4c]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0x8c59d
add edx, 0x8000
sar edx, 0x10
cmp edx, 0xff
jge 0x46c49b
mov esi, eax
jmp 0x46c4a3
imul edx, edx, 0xffffe2d1
add esi, edx
imul esi, esi, 0x1b41e
add esi, 0x8000
sar esi, 0x10
cmp esi, 0xff
jle 0x46c4bf
mov esi, 0xff
movzx eax, byte [ebx + 3]
mov edx, eax
imul edx, edx, 0x8c59d
add edx, 0x8000
and edx, 0xffff0000
add ecx, esi
cmp edx, 0xff0000
jge 0x46c4e5
xor esi, esi
jmp 0x46c530
lea esi, [eax - 0x1d]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0x35830
add edx, 0x8000
sar edx, 0x10
cmp edx, 0xff
jge 0x46c50c
mov esi, eax
jmp 0x46c514
imul edx, edx, 0xffffb375
add esi, edx
imul esi, esi, 0x1b41e
add esi, 0x8000
sar esi, 0x10
cmp esi, 0xff
jle 0x46c530
mov esi, 0xff
add ecx, esi
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [ebp], al
movzx ecx, byte [ebx + 3]
imul ecx, ecx, 0x8c59d
add ecx, 0x8000
sar ecx, 0x10
cmp ecx, 0xff
jle 0x46c563
mov ecx, 0xff
movzx eax, byte [ebx]
mov edx, eax
imul edx, edx, 0x1b41e
add edx, 0x8000
and edx, 0xffff0000
cmp edx, 0xff0000
jge 0x46c586
xor esi, esi
jmp 0x46c5d4
lea esi, [eax - 0x96]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0x35830
add edx, 0x8000
sar edx, 0x10
cmp edx, 0xff
jge 0x46c5b0
mov esi, eax
jmp 0x46c5b8
imul edx, edx, 0xffffb375
add esi, edx
imul esi, esi, 0x8c59d
add esi, 0x8000
sar esi, 0x10
cmp esi, 0xff
jle 0x46c5d4
mov esi, 0xff
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
add eax, 0xffffffff
add ecx, esi
cmp edi, eax
jne 0x46c5e9
mov esi, ecx
jmp 0x46c64b
movzx eax, byte [ebx + 6]
mov edx, eax
imul edx, edx, 0x35830
add edx, 0x8000
and edx, 0xffff0000
cmp edx, 0xff0000
jge 0x46c60d
xor esi, esi
jmp 0x46c658
lea esi, [eax - 0x4c]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0x1b41e
add edx, 0x8000
sar edx, 0x10
cmp edx, 0xff
jge 0x46c634
mov esi, eax
jmp 0x46c63c
imul edx, edx, 0xffff69ba
add esi, edx
imul esi, esi, 0x8c59d
add esi, 0x8000
sar esi, 0x10
cmp esi, 0xff
jle 0x46c658
mov esi, 0xff
add ecx, esi
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
add edi, 1
mov byte [ebp - 1], al
add ebx, 9
add ebp, 3
cmp edi, dword [esp + 0x34]
mov dword [esp + 0x10], edi
jl 0x46c310
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
add ebp, dword [esp + 0x20]
add ebx, dword [esp + 0x24]
sub dword [esp + 0x1c], 1
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebx
jne 0x46c2f0
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x18
ret