Function at 0x4519c0
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 0x4519ee
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0044c738
pop ecx
jmp 0x4519f0
xor eax, eax
mov word [ebp - 4], ax
push ebx
call fcn.00447000
pop ecx
mov ebx, eax
push 0x58
push 0
push 0x58
call fcn.0045c458
pop ecx
push eax
call fcn.004b5704
add esp, 0xc
mov esi, eax
mov ax, word [0x54aeae]
cmp ax, word [0x54aeac]
jne 0x451a4d
add word [0x54aeac], 0x40
movzx edx, word [0x54aeac]
shl edx, 2
add edx, 4
push edx
mov ecx, dword [0x54aea8]
push ecx
call fcn.0045c4a8
add esp, 8
mov dword [0x54aea8], eax
mov ax, word [0x54aeae]
inc eax
mov word [esi + 0x34], ax
movzx edx, ax
mov ecx, dword [0x54aea8]
mov dword [ecx + edx*4], esi
inc word [0x54aeae]
mov eax, dword [ebp + 8]
push eax
call fcn.004a35a0
pop ecx
mov edi, eax
mov dword [esi], edi
push edi
call fcn.00454844
pop ecx
mov dword [esi + 4], eax
test ebx, ebx
jne 0x451a95
mov eax, dword [esi + 4]
mov edx, dword [eax]
push edx
call fcn.00447000
pop ecx
mov ebx, eax
mov dword [esi + 0xc], ebx
cmp dword [ebp + 0x18], 0
je 0x451aaf
lea eax, [esi + 0x48]
lea edx, [esi + 0x10]
push eax
push edx
push ebx
call fcn.00447074
add esp, 0xc
mov word [ebp - 2], 1
mov cx, word [ebp - 2]
cmp cx, word [ebp - 4]
ja 0x451e65
movzx eax, word [ebp - 2]
push eax
mov edx, dword [ebp + 0x10]
push edx
call fcn.0044cc78
mov word [ebp - 6], ax
add esp, 8
cmp word [ebp - 6], 0
je 0x451e53
mov cx, word [ebp - 6]
cmp cx, word [esi + 0x34]
jae 0x451e53
movzx eax, word [ebp - 6]
mov edx, dword [0x54aea8]
cmp dword [esi + 8], 0
mov edi, dword [edx + eax*4]
jne 0x451b13
push edi
push esi
call fcn.0044e93c
add esp, 8
jmp 0x451e53
mov ax, word [ebp - 6]
push eax
push esi
call fcn.0044e3e4
add esp, 8
test eax, eax
jne 0x451e53
mov edx, dword [edi + 0x18]
push edx
call fcn.0045fce0
pop ecx
mov word [ebp - 0x1e], ax
cmp word [ebp - 0x1e], 0
je 0x451b7b
mov cx, word [ebp - 0x1e]
cmp cx, word [ebp - 0xe]
jbe 0x451b66
movzx eax, word [ebp - 0x1e]
add eax, eax
push eax
mov edx, dword [ebp - 0xc]
push edx
call fcn.0045c4a8
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.004b5704
add esp, 0xc
xor ebx, ebx
jmp 0x451b96
push 1
movzx eax, bx
mov edx, dword [edi + 0x2c]
mov cx, word [edx + eax*4]
push ecx
push esi
call fcn.0044e854
add esp, 0xc
inc ebx
cmp bx, word [edi + 0x44]
jb 0x451b7f
push 1
mov ax, word [ebp - 6]
push eax
push esi
call fcn.0044e854
add esp, 0xc
cmp word [edi + 0x3e], 0
je 0x451c1c
xor ebx, ebx
jmp 0x451c16
movzx eax, bx
lea edx, [eax + eax*2]
mov ecx, dword [edi + 0x14]
cmp word [ecx + edx*4 + 4], 1
jne 0x451c15
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.0044e45c
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.0044e49c
add esp, 0x18
inc ebx
cmp bx, word [edi + 0x3e]
jb 0x451bb7
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 0x451e19
mov ecx, dword [ebp - 0x18]
shl ecx, 5
mov eax, dword [edi + 8]
mov eax, dword [eax + ecx]
test eax, eax
je 0x451e0a
mov edx, dword [ebp - 0x18]
mov ecx, dword [edi + 8]
push eax
push esi
shl edx, 5
call fcn.0044e28c
add esp, 8
mov ebx, eax
cmp dword [ebx], 0
je 0x451c7e
mov eax, 0x54acf0
cmp eax, dword [ebx + 8]
jne 0x451c7e
mov dx, word [ebx + 0x18]
push edx
push esi
call fcn.0044e45c
add esp, 8
mov word [ebx + 0x1a], ax
cmp dword [ebx], 0
je 0x451cb9
push 0
push ebx
call fcn.0044e34c
add esp, 8
test eax, eax
je 0x451de4
mov ecx, 0x54ace0
cmp ecx, dword [ebx + 8]
je 0x451cb9
mov ax, word [0x54aea6]
test ax, ax
je 0x451de4
cmp ax, word [ebx + 0x14]
jne 0x451de4
cmp dword [ebx], 0
jne 0x451cc2
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.004b5670
add esp, 0xc
push esi
push ebx
push ebx
call fcn.0044e660
add esp, 0xc
test eax, eax
jne 0x451e0a
mov eax, dword [ebx + 8]
cmp eax, 0x54ad30
je 0x451cfd
cmp eax, 0x54ad40
jne 0x451d00
mov eax, dword [ebx + 0xc]
cmp eax, 0x54ac90
je 0x451d12
cmp eax, 0x54aca0
jne 0x451dbc
mov dx, word [ebx + 0x18]
cmp dx, word [ebp - 0x1e]
jbe 0x451d32
push 0
push str.__clsNew__
push 0
push 0x232d
call fcn.00424560
add esp, 0x10
movzx ecx, word [ebx + 0x18]
mov eax, dword [ebp - 0xc]
cmp word [eax + ecx*2 - 2], 0
jne 0x451d71
mov edx, dword [esi + 0x18]
push edx
call fcn.0044c738
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.0044c624
add esp, 8
cmp word [ebx + 0x1a], 0
je 0x451daa
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.0044e49c
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 0x451ddc
cmp eax, 0x54ac70
je 0x451dca
cmp eax, 0x54ac80
jne 0x451ddc
mov dx, word [ebx + 0x14]
push edx
push esi
call fcn.0044e45c
add esp, 8
mov word [ebx + 0x1a], ax
or word [ebx + 0x16], 0x80
jmp 0x451e0a
mov eax, dword [ebp - 0x18]
shl eax, 5
mov edx, dword [edi + 8]
test byte [edx + eax + 0x17], 6
je 0x451dfa
or word [ebx + 0x16], 0x400
push esi
push ebx
mov ecx, dword [edi + 8]
add ecx, eax
push ecx
call fcn.0044e660
add esp, 0xc
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jb 0x451c34
cmp word [edi + 0x38], 0
je 0x451e26
mov word [esi + 0x38], 1
cmp word [edi + 0x36], 0
je 0x451e33
mov word [esi + 0x36], 1
mov edx, dword [edi + 0x30]
or dword [esi + 0x30], edx
cmp word [edi + 0x4a], 0
je 0x451e46
mov word [esi + 0x4a], 1
cmp dword [edi + 0x24], 0
je 0x451e53
mov dword [ebp - 0x14], 1
inc word [ebp - 2]
mov cx, word [ebp - 2]
cmp cx, word [ebp - 4]
jbe 0x451ac3
cmp dword [ebp - 0xc], 0
je 0x451e75
mov eax, dword [ebp - 0xc]
push eax
call fcn.0045c528
pop ecx
cmp dword [esi + 8], 0
jne 0x451ea7
push 7
push esi
call fcn.0044e1f8
add esp, 8
push 0
call fcn.0045e9d4
pop ecx
mov dword [esi + 0x18], eax
push 0
call fcn.0045e9d4
pop ecx
mov dword [esi + 0x1c], eax
push 0
call fcn.0045e9d4
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.0044e854
mov ax, word [ebp + 0xc]
add word [esi + 0x40], ax
add esp, 0xc
cmp word [esi + 0x4a], 0
je 0x451ed7
mov dx, word [esi + 0x40]
inc edx
mov word [esi + 0x4a], dx
cmp dword [ebp - 0x14], 0
je 0x451eeb
cmp dword [esi + 0x24], 0
jne 0x451eeb
call fcn.0046a030
mov dword [esi + 0x24], eax
mov ax, word [esi + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret