Function at 0x45e4a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
mov eax, dword [0xc3aba4]
add eax, 0xbf
push ebx
push esi
push edi
push ebp
mov cl, byte [eax]
cmp cl, 1
jbe 0x45e4c6
dec cl
pop ebp
pop edi
mov byte [eax], cl
xor al, al
pop esi
pop ebx
add esp, 0x1c
ret
mov eax, dword [0xc3aba4]
mov ecx, dword [eax + 0x90]
movsx eax, word [ecx + 2]
cdq
and edx, 3
add eax, edx
sar eax, 2
movsx edx, ax
movsx eax, word [ecx + 6]
lea edi, [ecx + edx*4]
cdq
sub eax, edx
xor edx, edx
sar eax, 1
movsx eax, ax
mov dword [0xc2fcb0], eax
mov eax, dword [0xc3aba4]
mov ecx, dword [eax + 0x94]
mov dl, byte [eax + 0xbd]
lea eax, [ecx + edx*4]
mov dword [esp + 0x14], eax
xor eax, eax
mov edx, dword [esp + 0x14]
mov ax, word [edx + 2]
and eax, 0xfffffffc
add eax, ecx
cmp byte [esp + 0x30], 0
mov dword [esp + 0x10], eax
je 0x45e548
xor ecx, ecx
mov eax, dword [0xc3aba4]
mov cx, word [edx]
xor edx, edx
mov dl, byte [eax + 0xbe]
mov eax, dword [esp + 0x10]
sub ecx, edx
lea edx, [eax + ecx*4 - 4]
jmp 0x45e55c
mov eax, dword [0xc3aba4]
xor ecx, ecx
mov cl, byte [eax + 0xbe]
mov eax, dword [esp + 0x10]
lea edx, [eax + ecx*4]
xor ecx, ecx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov cx, word [eax]
mov eax, dword [0xc3aba4]
imul ecx, dword [0xc2fcb0]
mov esi, dword [eax + 0x98]
lea edi, [edi + ecx*2]
add edi, 2
xor ecx, ecx
movsx eax, word [edi]
add edi, 0xa
mov dword [esi + 0x3c], eax
mov eax, dword [0xc3aba4]
mov dword [0xc2fcc8], 3
mov cl, byte [eax + 0x8c]
mov dword [0xc2fcc4], ecx
test ecx, ecx
mov dword [0xc2fcc8], 2
jne 0x45e5f7
mov ax, word [edi]
lea ecx, [esi + 4]
mov word [ecx], ax
lea edx, [esi + 0x24]
mov ax, word [edi + 2]
add edi, 2
mov word [esi + 6], ax
add edi, 2
mov ax, word [edi]
add edi, 2
mov word [esi + 8], ax
push edx
push ecx
add esi, 0x7c
call fcn.00433350
add esp, 8
mov eax, dword [0xc2fcc8]
dec dword [0xc2fcc8]
test eax, eax
jne 0x45e5b5
jmp 0x45e674
movsx ebx, word [esp + 0x34]
mov eax, 0x1000
cdq
idiv ebx
mov dword [esp + 0x18], eax
mov ax, word [edi]
lea ebp, [esi + 4]
mov word [0xc30078], ax
add edi, 2
mov ax, word [edi]
add edi, 2
mov word [0xc3007a], ax
push ebp
mov ax, word [edi]
add edi, 2
mov word [0xc3007c], ax
add esi, 0x7c
mov eax, dword [esp + 0x1c]
sub eax, dword [0xc2fcc4]
imul eax, ebx
push eax
mov eax, dword [0xc2fcc4]
imul eax, ebx
push eax
push 0xc30078
push ebp
call fcn.00433910
add esp, 0x14
lea ecx, [esi - 0x58]
push ecx
push ebp
call fcn.00433350
add esp, 8
mov eax, dword [0xc2fcc8]
dec dword [0xc2fcc8]
test eax, eax
jne 0x45e608
mov eax, dword [0xc3aba4]
add eax, 0x20
lea ebp, [esi - 0x130]
push eax
mov eax, dword [0xc3aba4]
add eax, 0x72
push eax
call fcn.00433350
add esp, 8
lea ecx, [esi - 0x150]
mov eax, dword [0xc3aba4]
push ebp
push ecx
add eax, 0x20
push eax
lea ebx, [esi - 0x38]
call fcn.00433750
add esp, 0xc
lea ecx, [esi - 0x58]
push ebx
push ecx
push ebp
call fcn.00433750
shl dword [esi - 0x24], 9
shl dword [esi - 0x20], 9
shl dword [esi - 0x1c], 9
mov ebp, dword [esi + 0x534]
lea edx, [esi + 0x530]
lea ecx, [esp + 0x24]
add esp, 0xc
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [ecx + 4], ebp
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov ecx, dword [0xc3aba4]
movsx eax, word [ecx + 0x174]
shl eax, 9
mov dword [esp + 0x1c], eax
shl dword [esp + 0x18], 9
shl dword [esp + 0x20], 9
cmp dword [0xc2fcc4], 0
jne 0x45e75d
movsx eax, word [edi + 2]
add edi, 2
mov dword [0xc2fccc], eax
cmp byte [ecx + 0xbe], 0
jne 0x45e72d
mov word [esi + 0x72], ax
mov eax, dword [0xc2fccc]
add edi, 2
sub ax, word [esi + 0x72]
add word [esi + 6], ax
mov eax, dword [0xc2fccc]
mov word [esi + 0x72], ax
mov ax, word [esi - 0x16c]
add ax, word [esi - 0x74]
add ax, word [edi]
mov word [esi + 8], ax
jmp 0x45e7e9
add edi, 2
mov ecx, dword [0xc3aba4]
mov word [0xc30078], 0
movsx eax, word [edi]
mov dword [0xc2fccc], eax
cmp byte [ecx + 0xbe], 0
jne 0x45e784
mov word [esi + 0x72], ax
mov ax, word [0xc2fccc]
add edi, 2
mov cx, word [esi + 6]
sub cx, word [esi + 0x72]
add cx, ax
mov word [0xc3007a], cx
lea ecx, [esi + 4]
mov word [esi + 0x72], ax
push ecx
mov ax, word [esi - 0x16c]
movsx ebp, word [esp + 0x38]
add ax, word [esi - 0x74]
add ax, word [edi]
mov word [0xc3007c], ax
mov eax, 0x1000
cdq
idiv ebp
sub eax, dword [0xc2fcc4]
imul eax, ebp
push eax
mov eax, dword [0xc2fcc4]
imul eax, ebp
push eax
push 0xc30078
push ecx
call fcn.00433910
add esp, 0x14
add edi, 2
mov eax, dword [esi + 0x38]
shl eax, 9
mov dword [0xc30080], eax
mov eax, dword [esi + 0x3c]
shl eax, 9
lea ecx, [esi + 0x44]
push ecx
lea edx, [esi + 4]
push edx
mov dword [0xc30084], eax
mov eax, dword [esi + 0x40]
shl eax, 9
mov dword [0xc30088], eax
call fcn.00433350
add esp, 8
push 0xc30080
push 0xc30080
push ebx
call fcn.00433120
add esp, 0xc
mov eax, dword [esi - 0x24]
add eax, dword [0xc30080]
mov dword [esi + 0x58], eax
mov eax, dword [esi - 0x20]
add eax, dword [0xc30084]
mov dword [esi + 0x5c], eax
mov eax, dword [esi - 0x1c]
add esi, 0x7c
add eax, dword [0xc30088]
mov dword [esi - 0x1c], eax
cmp dword [0xc2fcc4], 0
mov dword [0xc2fcc8], 0xa
jne 0x45e959
xor ebx, ebx
mov ebp, 7
add edi, 2
mov ecx, dword [0xc3aba4]
movsx eax, word [edi]
mov dword [0xc2fccc], eax
cmp byte [ecx + 0xbe], bl
jne 0x45e892
mov word [esi + 0x72], ax
mov eax, dword [0xc2fccc]
add edi, 2
sub ax, word [esi + 0x72]
add edi, 2
add word [esi + 6], ax
mov eax, dword [0xc2fccc]
mov word [esi + 0x72], ax
mov ax, word [esi - 0x74]
add ax, word [edi - 2]
mov word [esi + 8], ax
mov eax, dword [esi + 0x38]
shl eax, 9
mov dword [0xc30080], eax
mov eax, dword [esi + 0x3c]
shl eax, 9
mov dword [0xc30084], eax
mov eax, dword [esi + 0x40]
shl eax, 9
cmp dword [0xc2fcc8], ebp
mov dword [0xc30088], eax
jne 0x45e8e7
mov word [esi + 8], bx
lea eax, [esi + 0x44]
lea ecx, [esi + 4]
push eax
add esi, 0x7c
push ecx
call fcn.00433350
add esp, 8
lea ecx, [esi - 0xb4]
push 0xc30080
push 0xc30080
push ecx
call fcn.00433120
add esp, 0xc
mov eax, dword [esi - 0xa0]
add eax, dword [0xc30080]
mov dword [esi - 0x24], eax
mov eax, dword [esi - 0x9c]
add eax, dword [0xc30084]
mov dword [esi - 0x20], eax
mov eax, dword [esi - 0x98]
add eax, dword [0xc30088]
mov dword [esi - 0x1c], eax
mov ecx, dword [0xc2fcc8]
dec dword [0xc2fcc8]
test ecx, ecx
jne 0x45e875
jmp 0x45ea8f
movsx ebx, word [esp + 0x34]
mov eax, 0x1000
cdq
idiv ebx
mov dword [esp + 0x28], eax
add edi, 2
mov ecx, dword [0xc3aba4]
mov word [0xc30078], 0
movsx eax, word [edi]
mov dword [0xc2fccc], eax
cmp byte [ecx + 0xbe], 0
jne 0x45e991
mov word [esi + 0x72], ax
mov ax, word [0xc2fccc]
add edi, 2
mov cx, word [esi + 6]
lea ebp, [esi + 4]
sub cx, word [esi + 0x72]
push ebp
add cx, ax
add edi, 2
mov word [0xc3007a], cx
mov word [esi + 0x72], ax
mov ax, word [esi - 0x74]
add ax, word [edi - 2]
mov word [0xc3007c], ax
mov eax, dword [esp + 0x2c]
sub eax, dword [0xc2fcc4]
imul eax, ebx
push eax
mov eax, dword [0xc2fcc4]
imul eax, ebx
push eax
push 0xc30078
push ebp
call fcn.00433910
add esp, 0x14
mov eax, dword [esi + 0x38]
shl eax, 9
mov dword [0xc30080], eax
mov eax, dword [esi + 0x3c]
shl eax, 9
mov dword [0xc30084], eax
mov eax, dword [esi + 0x40]
shl eax, 9
cmp dword [0xc2fcc8], 7
mov dword [0xc30088], eax
jne 0x45ea1a
mov word [esi + 8], 0
lea eax, [esi + 0x44]
add esi, 0x7c
push eax
push ebp
call fcn.00433350
add esp, 8
lea eax, [esi - 0xb4]
push 0xc30080
push 0xc30080
push eax
call fcn.00433120
add esp, 0xc
mov eax, dword [esi - 0xa0]
add eax, dword [0xc30080]
mov dword [esi - 0x24], eax
mov eax, dword [esi - 0x9c]
add eax, dword [0xc30084]
mov dword [esi - 0x20], eax
mov eax, dword [esi - 0x98]
add eax, dword [0xc30088]
mov dword [esi - 0x1c], eax
mov ecx, dword [0xc2fcc8]
dec dword [0xc2fcc8]
test ecx, ecx
jne 0x45e96a
mov eax, dword [0xc3aba4]
dec byte [eax + 0x8c]
mov eax, dword [esi - 0xa0]
mov ecx, dword [esi - 0x9c]
mov edx, dword [esi - 0x98]
sub esi, 0x7c
mov dword [0xc2fcc8], 0xb
sub dword [esp + 0x18], eax
sub dword [esp + 0x1c], ecx
sub dword [esp + 0x20], edx
mov eax, dword [esi + 0x58]
sub esi, 0x7c
add eax, dword [esp + 0x18]
sar eax, 9
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0xd8]
add eax, dword [esp + 0x1c]
sar eax, 9
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xdc]
add eax, dword [esp + 0x20]
sar eax, 9
mov dword [esi + 0xdc], eax
mov ecx, dword [0xc2fcc8]
dec dword [0xc2fcc8]
test ecx, ecx
jne 0x45eaba
mov eax, dword [0xc3aba4]
mov ecx, dword [esp + 0x18]
sar ecx, 9
add dword [eax + 0x34], ecx
mov eax, dword [0xc3aba4]
mov ecx, dword [esp + 0x20]
sar ecx, 9
add dword [eax + 0x3c], ecx
mov eax, dword [0xc3aba4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 0x98]
sar ecx, 9
mov eax, dword [esp + 0x10]
add dword [edx + 0x3c], ecx
mov dl, byte [eax + 2]
mov ecx, dword [0xc3aba4]
mov byte [ecx + 0xbf], dl
mov ecx, dword [0xc3aba4]
mov edx, dword [esp + 0x14]
inc byte [ecx + 0xbe]
mov eax, dword [0xc3aba4]
xor ecx, ecx
mov cx, word [edx]
add eax, 0xbe
dec ecx
xor edx, edx
mov dl, byte [eax]
cmp ecx, edx
jge 0x45eb7e
pop ebp
mov byte [eax], 0
mov al, 1
pop edi
pop esi
pop ebx
add esp, 0x1c
ret
xor al, al
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x1c
ret