Function at 0x4535a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
mov ecx, dword [0xbfb2fc]
xor eax, eax
mov dword [esp + 0x12], eax
push ebx
mov dword [esp + 0x1a], eax
xor ebx, ebx
mov dword [esp + 0x1e], eax
mov word [esp + 0x14], bx
mov word [esp + 0x22], ax
mov eax, dword [ecx + 0x28]
cmp eax, ebx
mov dword [esp + 0xc], ebx
jle 0x4538d7
push ebp
push esi
push edi
mov dword [esp + 0x14], ebx
mov edx, dword [ecx + 0x2c]
mov eax, dword [esp + 0x14]
mov ebp, 1
lea esi, [edx + eax]
mov eax, dword [edx + eax + 0x18]
cmp eax, ebp
jne case.0x453611.4
mov edx, dword [esi + 8]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
add eax, edx
mov edx, dword [esi + 0xc]
add ecx, edx
mov edx, dword [esi]
dec edx
cmp edx, 6
ja case.0x453611.4
jmp dword [edx*4 + 0x4538ec]
mov edi, dword [esi + 0x1c]
mov eax, dword [edi]
cmp eax, ebx
je case.0x453611.4
cmp dword [edi + 4], ebx
jne 0x453692
cmp dword [edi + 8], ebx
jne 0x453692
cmp dword [edi + 0xc], ebx
jne 0x453692
cmp dword [edi + 0x10], ebx
jne 0x453692
mov word [esp + 0x20], bx
mov word [esp + 0x22], bx
mov word [esp + 0x24], bx
mov word [esp + 0x26], bx
mov edx, dword [edi + 0x14]
lea eax, [esp + 0x20]
mov dword [esp + 0x28], edx
mov byte [esp + 0x2c], bl
mov byte [esp + 0x2d], 4
mov word [esp + 0x2e], bx
mov ecx, dword [edi]
mov edx, dword [esi + 0xc]
push eax
mov eax, dword [0xbfb2fc]
push ebp
push ebx
mov ebp, dword [eax + 0x10]
push ecx
mov ecx, dword [esi + 8]
mov esi, dword [eax + 0xc]
add edx, ebp
push 0xdf
add ecx, esi
push edx
push ecx
call fcn.004eb270
jmp 0x4538ac
lea edx, [esp + 0x1c]
push edx
push eax
call fcn.0043f500
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x1a]
lea ecx, [esp + 0x18]
push eax
push ecx
push edx
call fcn.0043f360
mov ax, word [edi + 4]
add ax, word [esp + 0x24]
mov word [esp + 0x34], ax
mov cx, word [edi + 8]
add cx, word [esp + 0x26]
mov word [esp + 0x36], cx
mov dx, word [edi + 0xc]
mov word [esp + 0x38], dx
mov ax, word [edi + 0x10]
mov word [esp + 0x3a], ax
mov ecx, dword [edi + 0x14]
lea edx, [esp + 0x34]
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x40], 1
mov byte [esp + 0x41], 4
mov word [esp + 0x42], bx
mov eax, dword [edi]
push edx
mov edx, dword [esi + 0xc]
push ebp
push ebx
mov edi, dword [esi + 8]
push eax
mov eax, dword [0xbfb2fc]
push 0xdf
mov ecx, dword [eax + 0x10]
add ecx, edx
mov edx, dword [eax + 0xc]
add edx, edi
push ecx
push edx
call fcn.004eb270
add esp, 0x30
jmp case.0x453611.4
mov eax, dword [esi + 0x1c]
xor ecx, ecx
push ebx
mov edx, dword [eax + 4]
mov edi, dword [eax]
cmp edx, ebx
setne cl
push ecx
push 0x64
push edi
call fcn.004e3180
mov ebp, dword [edi + 0x20]
add esp, 0x10
cmp ebp, ebx
je case.0x453611.4
mov al, byte [edi + 0x285]
cmp al, bl
je 0x453775
mov cl, byte [edi + 0x281]
mov dl, al
not dl
and dl, cl
mov cl, byte [edi + 0x28c]
and cl, al
or dl, cl
mov byte [edi + 0x281], dl
mov al, byte [edi + 0x284]
cmp al, bl
je 0x4537bf
test al, 1
je 0x45378f
mov dl, byte [edi + 0x28a]
mov byte [edi + 0x27e], dl
test al, 2
je 0x45379f
mov cl, byte [edi + 0x289]
mov byte [edi + 0x27d], cl
test al, 4
je 0x4537af
mov dl, byte [edi + 0x288]
mov byte [edi + 0x27c], dl
test al, 8
je 0x4537bf
mov al, byte [edi + 0x28b]
mov byte [edi + 0x27f], al
lea ecx, [edi + 0x274]
push ecx
push ebx
push ebp
push 0xdf
push 1
push edi
call fcn.004e3ba0
mov edx, dword [0xbfb2fc]
mov ebp, dword [esi + 0xc]
add esp, 8
add eax, dword [edx + 0x10]
add eax, ebp
push eax
push ebx
push edi
call fcn.004e3ba0
mov ecx, dword [0xbfb2fc]
mov edx, dword [esi + 8]
add esp, 8
add eax, dword [ecx + 0xc]
add eax, edx
push eax
call fcn.004ec3c0
add esp, 0x18
jmp case.0x453611.4
mov edi, dword [esi + 0x1c]
mov edx, dword [edi + 4]
cmp edx, ebx
je case.0x453611.4
push ebx
push edx
xor edx, edx
mov ebp, dword [esi + 0x14]
mov dl, byte [edi]
sub ecx, ebp
push edx
xor edx, edx
mov dl, byte [edi + 1]
push edx
mov edx, dword [esi + 0x10]
push 3
sub eax, edx
push ecx
push eax
call fcn.0043c030
jmp 0x4538ac
add eax, 5
push ecx
push eax
call fcn.00482f20
add esp, 8
jmp case.0x453611.4
mov esi, dword [esi + 0x1c]
mov eax, dword [0xc0bb64]
cmp eax, esi
jne case.0x453611.4
cmp dword [0x5d2188], 0x5d2028
jne 0x453879
cmp dword [0xbd02bc], ebp
jne case.0x453611.4
mov eax, dword [esi]
push eax
call fcn.00482d60
add esp, 4
jmp case.0x453611.4
cmp esi, ebx
je case.0x453611.4
mov ecx, dword [esi]
push ecx
call fcn.00482e10
add esp, 4
jmp case.0x453611.4
mov esi, dword [esi + 0x1c]
cmp esi, ebx
je case.0x453611.4
mov dl, byte [esi + 6]
push 0xdf
push edx
mov dl, byte [esi + 4]
push edx
mov dl, byte [esi + 5]
push edx
mov edx, dword [esi]
push edx
push ecx
push eax
call fcn.004574f0
add esp, 0x1c
mov ecx, dword [0xbfb2fc]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
inc eax
mov edx, dword [ecx + 0x28]
add esi, 0x24
cmp eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
jl 0x4535da
pop edi
pop esi
pop ebp
push 3
call fcn.0043c710
add esp, 4
call fcn.00457340
pop ebx
add esp, 0x20
ret