Function at 0x460374
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
xor eax, eax
xor edx, edx
push ebx
push esi
push edi
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0xc], eax
mov word [ebp - 0xe], 0
mov dword [ebp - 0x14], edx
cmp dword [ebp + 0x10], 0
je 0x4603a2
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0045b000
pop ecx
jmp 0x4603a4
xor eax, eax
mov word [ebp - 4], ax
push ebx
call fcn.0045574c
pop ecx
mov ebx, eax
push 0x58
push 0
push 0x58
call fcn.0046ae84
pop ecx
push eax
call fcn.004c485c
add esp, 0xc
mov esi, eax
mov ax, word [0x5ac502]
cmp ax, word [0x5ac500]
jne 0x460401
add word [0x5ac500], 0x40
movzx edx, word [0x5ac500]
shl edx, 2
add edx, 4
push edx
mov ecx, dword [0x5ac4fc]
push ecx
call fcn.0046aed4
add esp, 8
mov dword [0x5ac4fc], eax
mov ax, word [0x5ac502]
inc eax
mov word [esi + 0x34], ax
movzx edx, ax
mov ecx, dword [0x5ac4fc]
mov dword [ecx + edx*4], esi
inc word [0x5ac502]
mov eax, dword [ebp + 8]
push eax
call fcn.004b4448
pop ecx
mov edi, eax
mov dword [esi], edi
push edi
call fcn.00463200
pop ecx
mov dword [esi + 4], eax
test ebx, ebx
jne 0x460449
mov eax, dword [esi + 4]
mov edx, dword [eax]
push edx
call fcn.0045574c
pop ecx
mov ebx, eax
mov dword [esi + 0xc], ebx
cmp dword [ebp + 0x18], 0
je 0x460463
lea eax, [esi + 0x48]
lea edx, [esi + 0x10]
push eax
push edx
push ebx
call fcn.004557c4
add esp, 0xc
mov word [ebp - 2], 1
mov cx, word [ebp - 2]
cmp cx, word [ebp - 4]
ja 0x460819
movzx eax, word [ebp - 2]
push eax
mov edx, dword [ebp + 0x10]
push edx
call fcn.0045b560
mov word [ebp - 6], ax
add esp, 8
cmp word [ebp - 6], 0
je 0x460807
mov cx, word [ebp - 6]
cmp cx, word [esi + 0x34]
jae 0x460807
movzx eax, word [ebp - 6]
mov edx, dword [0x5ac4fc]
cmp dword [esi + 8], 0
mov edi, dword [edx + eax*4]
jne 0x4604c7
push edi
push esi
call fcn.0045d2e4
add esp, 8
jmp 0x460807
mov ax, word [ebp - 6]
push eax
push esi
call fcn.0045cd8c
add esp, 8
test eax, eax
jne 0x460807
mov edx, dword [edi + 0x18]
push edx
call fcn.0046e7ec
pop ecx
mov word [ebp - 0x1e], ax
cmp word [ebp - 0x1e], 0
je 0x46052f
mov cx, word [ebp - 0x1e]
cmp cx, word [ebp - 0xe]
jbe 0x46051a
movzx eax, word [ebp - 0x1e]
add eax, eax
push eax
mov edx, dword [ebp - 0xc]
push edx
call fcn.0046aed4
add esp, 8
mov dword [ebp - 0xc], eax
mov cx, word [ebp - 0x1e]
mov word [ebp - 0xe], cx
movzx eax, word [ebp - 0x1e]
add eax, eax
push eax
push 0
mov edx, dword [ebp - 0xc]
push edx
call fcn.004c485c
add esp, 0xc
xor ebx, ebx
jmp 0x46054a
push 1
movzx eax, bx
mov edx, dword [edi + 0x2c]
mov cx, word [edx + eax*4]
push ecx
push esi
call fcn.0045d1fc
add esp, 0xc
inc ebx
cmp bx, word [edi + 0x44]
jb 0x460533
push 1
mov ax, word [ebp - 6]
push eax
push esi
call fcn.0045d1fc
add esp, 0xc
cmp word [edi + 0x3e], 0
je 0x4605d0
xor ebx, ebx
jmp 0x4605ca
movzx eax, bx
lea edx, [eax + eax*2]
mov ecx, dword [edi + 0x14]
cmp word [ecx + edx*4 + 4], 1
jne 0x4605c9
movzx eax, bx
lea edx, [eax + eax*2]
mov ecx, dword [edi + 0x14]
mov ax, word [ecx + edx*4 + 0xa]
mov word [ebp - 0x20], ax
mov dx, word [ebp - 0x20]
push edx
mov cx, word [ebp - 0x20]
push ecx
push esi
call fcn.0045ce04
add esp, 8
push eax
movzx eax, bx
mov ecx, dword [edi + 0x14]
lea edx, [eax + eax*2]
mov ax, word [ecx + edx*4 + 6]
movzx edx, bx
push eax
push 1
mov eax, dword [edi + 0x14]
lea ecx, [edx + edx*2]
mov edx, dword [eax + ecx*4]
push edx
push esi
call fcn.0045ce44
add esp, 0x18
inc ebx
cmp bx, word [edi + 0x3e]
jb 0x46056b
movzx ecx, word [edi + 0x54]
mov dword [ebp - 0x1c], ecx
xor eax, eax
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x1c]
jae 0x4607cd
mov ecx, dword [ebp - 0x18]
shl ecx, 5
mov eax, dword [edi + 8]
mov eax, dword [eax + ecx]
test eax, eax
je 0x4607be
mov edx, dword [ebp - 0x18]
mov ecx, dword [edi + 8]
push eax
push esi
shl edx, 5
call fcn.0045cc34
add esp, 8
mov ebx, eax
cmp dword [ebx], 0
je 0x460632
mov eax, 0x5ac344
cmp eax, dword [ebx + 8]
jne 0x460632
mov dx, word [ebx + 0x18]
push edx
push esi
call fcn.0045ce04
add esp, 8
mov word [ebx + 0x1a], ax
cmp dword [ebx], 0
je 0x46066d
push 0
push ebx
call fcn.0045ccf4
add esp, 8
test eax, eax
je 0x460798
mov ecx, 0x5ac334
cmp ecx, dword [ebx + 8]
je 0x46066d
mov ax, word [0x5ac4fa]
test ax, ax
je 0x460798
cmp ax, word [ebx + 0x14]
jne 0x460798
cmp dword [ebx], 0
jne 0x460676
inc word [esi + 0x3c]
push 0x20
mov edx, dword [edi + 8]
mov ecx, dword [ebp - 0x18]
shl ecx, 5
add edx, ecx
push edx
push ebx
call fcn.004c47c8
add esp, 0xc
push esi
push ebx
push ebx
call fcn.0045d008
add esp, 0xc
test eax, eax
jne 0x4607be
mov eax, dword [ebx + 8]
cmp eax, 0x5ac384
je 0x4606b1
cmp eax, 0x5ac394
jne 0x4606b4
mov eax, dword [ebx + 0xc]
cmp eax, 0x5ac2e4
je 0x4606c6
cmp eax, 0x5ac2f4
jne 0x460770
mov dx, word [ebx + 0x18]
cmp dx, word [ebp - 0x1e]
jbe 0x4606e6
push 0
push str.__clsNew__
push 0
push 0x232d
call fcn.004303a4
add esp, 0x10
movzx ecx, word [ebx + 0x18]
mov eax, dword [ebp - 0xc]
cmp word [eax + ecx*2 - 2], 0
jne 0x460725
mov edx, dword [esi + 0x18]
push edx
call fcn.0045b000
pop ecx
mov edx, dword [ebp - 0xc]
movzx ecx, word [ebx + 0x18]
inc eax
mov word [edx + ecx*2 - 2], ax
movzx eax, word [ebx + 0x18]
mov ecx, dword [ebp - 0xc]
movzx eax, word [ecx + eax*2 - 2]
push eax
mov edx, dword [esi + 0x18]
push edx
call fcn.0045aeec
add esp, 8
cmp word [ebx + 0x1a], 0
je 0x46075e
mov cx, word [ebp - 6]
push ecx
push 0
movzx eax, word [ebx + 0x18]
mov edx, dword [ebp - 0xc]
mov cx, word [edx + eax*2 - 2]
push ecx
push 2
movzx eax, word [ebx + 0x1a]
lea edx, [eax + eax*2]
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx + edx*4 - 0xc]
push eax
push esi
call fcn.0045ce44
add esp, 0x18
mov word [ebx + 0x1a], ax
movzx edx, word [ebx + 0x18]
mov ecx, dword [ebp - 0xc]
mov ax, word [ecx + edx*2 - 2]
mov word [ebx + 0x18], ax
jmp 0x460790
cmp eax, 0x5ac2c4
je 0x46077e
cmp eax, 0x5ac2d4
jne 0x460790
mov dx, word [ebx + 0x14]
push edx
push esi
call fcn.0045ce04
add esp, 8
mov word [ebx + 0x1a], ax
or word [ebx + 0x16], 0x80
jmp 0x4607be
mov eax, dword [ebp - 0x18]
shl eax, 5
mov edx, dword [edi + 8]
test byte [edx + eax + 0x17], 6
je 0x4607ae
or word [ebx + 0x16], 0x400
push esi
push ebx
mov ecx, dword [edi + 8]
add ecx, eax
push ecx
call fcn.0045d008
add esp, 0xc
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jb 0x4605e8
cmp word [edi + 0x38], 0
je 0x4607da
mov word [esi + 0x38], 1
cmp word [edi + 0x36], 0
je 0x4607e7
mov word [esi + 0x36], 1
mov edx, dword [edi + 0x30]
or dword [esi + 0x30], edx
cmp word [edi + 0x4a], 0
je 0x4607fa
mov word [esi + 0x4a], 1
cmp dword [edi + 0x24], 0
je 0x460807
mov dword [ebp - 0x14], 1
inc word [ebp - 2]
mov cx, word [ebp - 2]
cmp cx, word [ebp - 4]
jbe 0x460477
cmp dword [ebp - 0xc], 0
je 0x460829
mov eax, dword [ebp - 0xc]
push eax
call fcn.0046af54
pop ecx
cmp dword [esi + 8], 0
jne 0x46085b
push 7
push esi
call fcn.0045cba0
add esp, 8
push 0
call fcn.0046d44c
pop ecx
mov dword [esi + 0x18], eax
push 0
call fcn.0046d44c
pop ecx
mov dword [esi + 0x1c], eax
push 0
call fcn.0046d44c
pop ecx
mov dword [esi + 0x20], eax
mov dx, word [esi + 0x40]
mov word [esi + 0x42], dx
push 0
mov cx, word [esi + 0x34]
push ecx
push esi
call fcn.0045d1fc
mov ax, word [ebp + 0xc]
add word [esi + 0x40], ax
add esp, 0xc
cmp word [esi + 0x4a], 0
je 0x46088b
mov dx, word [esi + 0x40]
inc edx
mov word [esi + 0x4a], dx
cmp dword [ebp - 0x14], 0
je 0x46089f
cmp dword [esi + 0x24], 0
jne 0x46089f
call fcn.00479128
mov dword [esi + 0x24], eax
mov ax, word [esi + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret