Function at 0x4a5810
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x30
lea eax, [esp + 0x34]
push ebx
mov ebx, dword [esp + 0x38]
push ebp
push esi
push edi
push eax
push 0
push 1
push ebx
call fcn.004dce60
add esp, 0x10
test eax, eax
je 0x4a5d1d
mov eax, dword [esp + 0x44]
cmp eax, 0x35000
jb 0x4a5cfa
cmp eax, 0x37002
ja 0x4a5cfa
lea ecx, [esp + 0x18]
push 0x10
push ecx
push ebx
call fcn.004dc5b0
add esp, 0xc
cmp eax, 0x10
jne 0x4a5d1d
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
call fcn.004a54d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4a5d1d
mov eax, dword [esp + 0x24]
cmp eax, 1
jle 0x4a592e
dec eax
push eax
push esi
call fcn.004a4fe0
add esp, 8
test eax, eax
jge 0x4a592e
mov ax, word [esi + 0xe]
movsx edx, ax
dec edx
test edx, edx
jg 0x4a5c84
mov eax, dword [esi + 0x58]
test eax, eax
je 0x4a58c9
push eax
call fcn.004de0a0
add esp, 4
mov ax, word [esi + 0xe]
push 0xfff
push esi
mov word [esi + 0xe], ax
call fcn.004a5240
push esi
push 0x81075c
call fcn.004de860
mov eax, dword [esi + 0x5c]
add esp, 0x10
test eax, eax
je 0x4a5908
mov ecx, dword [0x84a7c8]
push eax
call dword [ecx + 0x10c]
add esp, 4
mov dword [esi + 0x5c], 0
lea edx, [esi + 0x20]
push edx
call fcn.004a98d0
dec word [esi + 0xe]
mov eax, dword [0x84a7c8]
push esi
call dword [eax + 0x10c]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
test dword [esi + 8], 0x1000000
jne 0x4a59fd
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a59fd
test byte [esp + 0x18], 8
je 0x4a596a
mov ecx, dword [esi + 0x30]
lea edi, [eax*4]
push edi
push ecx
push ebx
call fcn.004dc5b0
add esp, 0xc
cmp eax, edi
jne 0x4a58a9
mov ecx, dword [esi + 0x1c]
test ecx, ecx
jle 0x4a59a9
mov eax, dword [esi + 0x14]
xor edi, edi
shl eax, 3
test ecx, ecx
mov dword [esp + 0x10], eax
jle 0x4a59a9
lea ebp, [esi + 0x34]
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp]
push ecx
push edx
push ebx
call fcn.004dd010
add esp, 0xc
test eax, eax
je 0x4a5a7f
mov eax, dword [esi + 0x1c]
inc edi
add ebp, 4
cmp edi, eax
jl 0x4a5984
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x10], eax
je 0x4a59fd
mov edi, dword [esi + 0x2c]
lea ebp, [eax*8]
push ebp
push edi
push ebx
call fcn.004dc5b0
add esp, 0xc
cmp eax, ebp
jne 0x4a5a7f
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x4a59fd
mov ax, word [edi]
mov dx, word [edi + 2]
mov word [edi], dx
mov dx, word [edi + 6]
mov word [edi + 2], ax
mov ax, word [edi + 4]
mov word [edi + 4], dx
mov word [edi + 6], ax
add edi, 8
dec ecx
jne 0x4a59d9
mov eax, dword [esi + 0x18]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x10], ebp
jle 0x4a5b5a
mov edi, dword [esi + 0x5c]
lea eax, [esp + 0x28]
push 0x18
push eax
push ebx
add edi, ebp
call fcn.004dc5b0
add esp, 0xc
cmp eax, 0x18
jne 0x4a5a7f
mov edx, dword [esp + 0x28]
lea ecx, [edi + 4]
mov dword [edi + 4], edx
mov eax, dword [esp + 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x30]
mov dword [ecx + 8], edx
mov eax, dword [esp + 0x34]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4a5b20
mov eax, dword [esp + 0x3c]
test eax, eax
mov eax, dword [esi + 0x14]
je 0x4a5b04
mov edx, dword [edi + 0x14]
lea ecx, [eax + eax*2]
shl ecx, 3
push ecx
push edx
push ebx
call fcn.004dd010
add esp, 0xc
test eax, eax
je 0x4a5a7f
jmp 0x4a5b43
mov ax, word [esi + 0xe]
movsx ecx, ax
dec ecx
test ecx, ecx
jg 0x4a5c84
mov eax, dword [esi + 0x58]
test eax, eax
je 0x4a5a9f
push eax
call fcn.004de0a0
add esp, 4
mov dx, word [esi + 0xe]
push 0xfff
push esi
mov word [esi + 0xe], dx
call fcn.004a5240
push esi
push 0x81075c
call fcn.004de860
mov eax, dword [esi + 0x5c]
add esp, 0x10
test eax, eax
je 0x4a5add
push eax
mov eax, dword [0x84a7c8]
call dword [eax + 0x10c]
add esp, 4
mov dword [esi + 0x5c], 0
lea ecx, [esi + 0x20]
push ecx
call fcn.004a98d0
dec word [esi + 0xe]
mov edx, dword [0x84a7c8]
push esi
call dword [edx + 0x10c]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [edi + 0x14]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push ecx
push ebx
call fcn.004dd010
add esp, 0xc
test eax, eax
je 0x4a5a7f
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4a5b43
mov eax, dword [esi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x18]
shl edx, 2
push edx
push eax
push ebx
call fcn.004dd010
add esp, 0xc
test eax, eax
je 0x4a5b9f
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x18]
inc eax
add ebp, 0x1c
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x4a5a0e
lea edx, [esp + 0x44]
push edx
push 0
push 8
push ebx
call fcn.004dce60
add esp, 0x10
test eax, eax
je 0x4a5d1d
mov eax, dword [esp + 0x44]
cmp eax, 0x35000
jb 0x4a5c9d
cmp eax, 0x37002
ja 0x4a5c9d
lea edi, [esi + 0x20]
push edi
push ebx
call fcn.004a9a50
add esp, 8
test eax, eax
jne 0x4a5bd6
mov ax, word [esi + 0xe]
movsx ecx, ax
dec ecx
test ecx, ecx
jg 0x4a5c84
mov eax, dword [esi + 0x58]
test eax, eax
je 0x4a5bbf
push eax
call fcn.004de0a0
add esp, 4
dec word [esi + 0xe]
push esi
call fcn.004a5d30
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push esi
push ebx
push 0x81075c
call fcn.004de970
add esp, 0xc
test eax, eax
jne 0x4a5bf5
mov ax, word [esi + 0xe]
movsx edx, ax
dec edx
test edx, edx
jmp 0x4a5ba9
push esi
call fcn.004a5270
add esp, 4
test eax, eax
jne 0x4a5c93
mov ax, word [esi + 0xe]
movsx ecx, ax
dec ecx
test ecx, ecx
jg 0x4a5c84
mov eax, dword [esi + 0x58]
test eax, eax
je 0x4a5c22
push eax
call fcn.004de0a0
add esp, 4
mov dx, word [esi + 0xe]
push 0xfff
push esi
mov word [esi + 0xe], dx
call fcn.004a5240
push esi
push 0x81075c
call fcn.004de860
mov eax, dword [esi + 0x5c]
add esp, 0x10
test eax, eax
je 0x4a5c60
push eax
mov eax, dword [0x84a7c8]
call dword [eax + 0x10c]
add esp, 4
mov dword [esi + 0x5c], 0
push edi
call fcn.004a98d0
dec word [esi + 0xe]
mov ecx, dword [0x84a7c8]
push esi
call dword [ecx + 0x10c]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
dec eax
pop edi
mov word [esi + 0xe], ax
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ax, word [esi + 0xe]
movsx edx, ax
dec edx
test edx, edx
jg 0x4a5cc8
mov eax, dword [esi + 0x58]
test eax, eax
je 0x4a5cb9
push eax
call fcn.004de0a0
add esp, 4
dec word [esi + 0xe]
push esi
call fcn.004a5d30
add esp, 4
jmp 0x4a5ccd
dec eax
mov word [esi + 0xe], ax
push 0x80000004
mov dword [esp + 0x14], 2
call fcn.004f8220
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push eax
call fcn.004dd0b0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push 0x80000004
mov dword [esp + 0x14], 2
call fcn.004f8220
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], eax
push ecx
call fcn.004dd0b0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret