Function at 0x45ee84
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 0x45eeb2
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00459aa4
pop ecx
jmp 0x45eeb4
xor eax, eax
mov word [ebp - 4], ax
push ebx
call fcn.004541e8
pop ecx
mov ebx, eax
push 0x58
push 0
push 0x58
call fcn.004699b8
pop ecx
push eax
call fcn.004cc638
add esp, 0xc
mov esi, eax
mov ax, word [0x5a3476]
cmp ax, word [0x5a3474]
jne 0x45ef11
add word [0x5a3474], 0x40
movzx edx, word [0x5a3474]
shl edx, 2
add edx, 4
push edx
mov ecx, dword [0x5a3470]
push ecx
call fcn.00469a08
add esp, 8
mov dword [0x5a3470], eax
mov ax, word [0x5a3476]
inc eax
mov word [esi + 0x34], ax
movzx edx, ax
mov ecx, dword [0x5a3470]
mov dword [ecx + edx*4], esi
inc word [0x5a3476]
mov eax, dword [ebp + 8]
push eax
call fcn.004b4688
pop ecx
mov edi, eax
mov dword [esi], edi
push edi
call fcn.00461d1c
pop ecx
mov dword [esi + 4], eax
test ebx, ebx
jne 0x45ef59
mov eax, dword [esi + 4]
mov edx, dword [eax]
push edx
call fcn.004541e8
pop ecx
mov ebx, eax
mov dword [esi + 0xc], ebx
cmp dword [ebp + 0x18], 0
je 0x45ef73
lea eax, [esi + 0x48]
lea edx, [esi + 0x10]
push eax
push edx
push ebx
call fcn.00454260
add esp, 0xc
mov word [ebp - 2], 1
mov cx, word [ebp - 2]
cmp cx, word [ebp - 4]
ja 0x45f329
movzx eax, word [ebp - 2]
push eax
mov edx, dword [ebp + 0x10]
push edx
call fcn.0045a008
mov word [ebp - 6], ax
add esp, 8
cmp word [ebp - 6], 0
je 0x45f317
mov cx, word [ebp - 6]
cmp cx, word [esi + 0x34]
jae 0x45f317
movzx eax, word [ebp - 6]
mov edx, dword [0x5a3470]
cmp dword [esi + 8], 0
mov edi, dword [edx + eax*4]
jne 0x45efd7
push edi
push esi
call fcn.0045bdcc
add esp, 8
jmp 0x45f317
mov ax, word [ebp - 6]
push eax
push esi
call fcn.0045b874
add esp, 8
test eax, eax
jne 0x45f317
mov edx, dword [edi + 0x18]
push edx
call fcn.0046d364
pop ecx
mov word [ebp - 0x1e], ax
cmp word [ebp - 0x1e], 0
je 0x45f03f
mov cx, word [ebp - 0x1e]
cmp cx, word [ebp - 0xe]
jbe 0x45f02a
movzx eax, word [ebp - 0x1e]
add eax, eax
push eax
mov edx, dword [ebp - 0xc]
push edx
call fcn.00469a08
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.004cc638
add esp, 0xc
xor ebx, ebx
jmp 0x45f05a
push 1
movzx eax, bx
mov edx, dword [edi + 0x2c]
mov cx, word [edx + eax*4]
push ecx
push esi
call fcn.0045bce4
add esp, 0xc
inc ebx
cmp bx, word [edi + 0x44]
jb 0x45f043
push 1
mov ax, word [ebp - 6]
push eax
push esi
call fcn.0045bce4
add esp, 0xc
cmp word [edi + 0x3e], 0
je 0x45f0e0
xor ebx, ebx
jmp 0x45f0da
movzx eax, bx
lea edx, [eax + eax*2]
mov ecx, dword [edi + 0x14]
cmp word [ecx + edx*4 + 4], 1
jne 0x45f0d9
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.0045b8ec
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.0045b92c
add esp, 0x18
inc ebx
cmp bx, word [edi + 0x3e]
jb 0x45f07b
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 0x45f2dd
mov ecx, dword [ebp - 0x18]
shl ecx, 5
mov eax, dword [edi + 8]
mov eax, dword [eax + ecx]
test eax, eax
je 0x45f2ce
mov edx, dword [ebp - 0x18]
mov ecx, dword [edi + 8]
push eax
push esi
shl edx, 5
call fcn.0045b718
add esp, 8
mov ebx, eax
cmp dword [ebx], 0
je 0x45f142
mov eax, 0x5a32b8
cmp eax, dword [ebx + 8]
jne 0x45f142
mov dx, word [ebx + 0x18]
push edx
push esi
call fcn.0045b8ec
add esp, 8
mov word [ebx + 0x1a], ax
cmp dword [ebx], 0
je 0x45f17d
push 0
push ebx
call fcn.0045b7dc
add esp, 8
test eax, eax
je 0x45f2a8
mov ecx, 0x5a32a8
cmp ecx, dword [ebx + 8]
je 0x45f17d
mov ax, word [0x5a346e]
test ax, ax
je 0x45f2a8
cmp ax, word [ebx + 0x14]
jne 0x45f2a8
cmp dword [ebx], 0
jne 0x45f186
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.004cc5a4
add esp, 0xc
push esi
push ebx
push ebx
call fcn.0045baf0
add esp, 0xc
test eax, eax
jne 0x45f2ce
mov eax, dword [ebx + 8]
cmp eax, 0x5a32f8
je 0x45f1c1
cmp eax, 0x5a3308
jne 0x45f1c4
mov eax, dword [ebx + 0xc]
cmp eax, 0x5a3258
je 0x45f1d6
cmp eax, 0x5a3268
jne 0x45f280
mov dx, word [ebx + 0x18]
cmp dx, word [ebp - 0x1e]
jbe 0x45f1f6
push 0
push str.__clsNew__
push 0
push 0x232d
call fcn.0042ea24
add esp, 0x10
movzx ecx, word [ebx + 0x18]
mov eax, dword [ebp - 0xc]
cmp word [eax + ecx*2 - 2], 0
jne 0x45f235
mov edx, dword [esi + 0x18]
push edx
call fcn.00459aa4
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.00459990
add esp, 8
cmp word [ebx + 0x1a], 0
je 0x45f26e
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.0045b92c
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 0x45f2a0
cmp eax, 0x5a3238
je 0x45f28e
cmp eax, 0x5a3248
jne 0x45f2a0
mov dx, word [ebx + 0x14]
push edx
push esi
call fcn.0045b8ec
add esp, 8
mov word [ebx + 0x1a], ax
or word [ebx + 0x16], 0x80
jmp 0x45f2ce
mov eax, dword [ebp - 0x18]
shl eax, 5
mov edx, dword [edi + 8]
test byte [edx + eax + 0x17], 6
je 0x45f2be
or word [ebx + 0x16], 0x400
push esi
push ebx
mov ecx, dword [edi + 8]
add ecx, eax
push ecx
call fcn.0045baf0
add esp, 0xc
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jb 0x45f0f8
cmp word [edi + 0x38], 0
je 0x45f2ea
mov word [esi + 0x38], 1
cmp word [edi + 0x36], 0
je 0x45f2f7
mov word [esi + 0x36], 1
mov edx, dword [edi + 0x30]
or dword [esi + 0x30], edx
cmp word [edi + 0x4a], 0
je 0x45f30a
mov word [esi + 0x4a], 1
cmp dword [edi + 0x24], 0
je 0x45f317
mov dword [ebp - 0x14], 1
inc word [ebp - 2]
mov cx, word [ebp - 2]
cmp cx, word [ebp - 4]
jbe 0x45ef87
cmp dword [ebp - 0xc], 0
je 0x45f339
mov eax, dword [ebp - 0xc]
push eax
call fcn.00469a8c
pop ecx
cmp dword [esi + 8], 0
jne 0x45f36b
push 7
push esi
call fcn.0045b684
add esp, 8
push 0
call fcn.0046bfa8
pop ecx
mov dword [esi + 0x18], eax
push 0
call fcn.0046bfa8
pop ecx
mov dword [esi + 0x1c], eax
push 0
call fcn.0046bfa8
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.0045bce4
mov ax, word [ebp + 0xc]
add word [esi + 0x40], ax
add esp, 0xc
cmp word [esi + 0x4a], 0
je 0x45f39b
mov dx, word [esi + 0x40]
inc edx
mov word [esi + 0x4a], dx
cmp dword [ebp - 0x14], 0
je 0x45f3af
cmp dword [esi + 0x24], 0
jne 0x45f3af
call fcn.00477ca4
mov dword [esi + 0x24], eax
mov ax, word [esi + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret