Function at 0x4ef9d8
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x120
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, 0x2209408
call fcn.005bfb50
mov al, byte [esi + 0x638]
xor edx, edx
test al, al
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edx
je 0x4efbef
mov ebp, dword [0x21fd84c]
mov ecx, dword [0x21fd848]
xor edi, edi
lea esp, [esp]
test ecx, ecx
jne 0x4efa18
xor eax, eax
jmp 0x4efa1f
mov eax, ebp
sub eax, ecx
sar eax, 2
cmp edx, eax
jge 0x4efe2d
test ecx, ecx
jne 0x4efa2f
xor eax, eax
jmp 0x4efa36
mov eax, ebp
sub eax, ecx
sar eax, 2
cmp edx, eax
jge 0x4efbe5
lea eax, [ecx + edx*4]
mov dword [0x21fd854], eax
mov ebx, dword [eax]
test ebx, ebx
mov dword [esp + 0x1c], ebx
je 0x4efbe5
inc dword [esp + 0x18]
movzx eax, byte [esi + 0x638]
fild dword [esp + 0x18]
mov dword [esp + 0x28], eax
imul eax, eax, 0x125c
fcomp dword [eax + esi + 0x184c]
fnstsw ax
test ah, 5
jnp 0x4efbe5
mov eax, dword [esi + 4]
mov ecx, dword [0x71c2a4]
lea edx, [eax + 0x25]
cmp ecx, edx
mov byte [esp + 0x10], 0x82
mov byte [esp + 0x24], 0x80
mov byte [esp + 0x14], 0x78
jl 0x4efad3
lea edx, [eax + 0x12e]
cmp ecx, edx
jg 0x4efad3
mov ecx, dword [esi + 8]
mov edx, dword [0x71c2a8]
add ecx, edi
lea ebp, [ecx + 0x70]
cmp edx, ebp
jl 0x4efad3
add ecx, 0x84
cmp edx, ecx
jg 0x4efad3
mov byte [esp + 0x10], 0xaa
mov byte [esp + 0x24], 0xaa
mov byte [esp + 0x14], 0xaa
mov edx, dword [esp + 0x28]
mov ecx, dword [esi + edx*4 + 0x63c]
cmp ecx, dword [ebx]
jne 0x4efaf1
mov byte [esp + 0x10], 0xff
mov byte [esp + 0x24], 0xff
mov byte [esp + 0x14], 0xff
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esi + 8]
push 0x6c1020
push 0
push ebp
push ebx
push ecx
lea ecx, [edx + edi + 0x70]
push ecx
add eax, 0x2a
push eax
push 0x2209408
call fcn.00541930
mov edx, dword [esp + 0x40]
movzx eax, word [edx + 4]
mov ecx, dword [esp + 0x34]
mov edx, dword [esi + 8]
push eax
push 0x6c39c8
push 0
push ebp
push ebx
push ecx
mov ecx, dword [esi + 4]
lea eax, [edx + edi + 0x70]
push eax
add ecx, 0x4f
push ecx
push 0x2209408
call fcn.00541930
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x58]
mov ecx, dword [esi + 8]
add esp, 0x48
add edx, 7
push edx
push 0x6be170
push 0
push ebp
push ebx
push eax
mov eax, dword [esi + 4]
lea edx, [ecx + edi + 0x70]
push edx
add eax, 0x70
push eax
push 0x2209408
call fcn.00541930
mov ecx, dword [esp + 0x40]
xor edx, edx
mov dl, byte [ecx + 6]
lea eax, [esp + 0x50]
push edx
push eax
call fcn.004ee080
mov ecx, dword [esp + 0x3c]
mov edx, dword [esi + 8]
push eax
push 0x6be170
push 0
push ebp
push ebx
push ecx
mov ecx, dword [esi + 4]
lea eax, [edx + edi + 0x70]
push eax
add ecx, 0xf7
push ecx
push 0x2209408
call fcn.00541930
add edi, 0x17
add esp, 0x50
cmp edi, 0x142
jg 0x4efe2d
mov ebp, dword [0x21fd84c]
mov ecx, dword [0x21fd848]
mov edx, dword [esp + 0x20]
inc edx
mov dword [esp + 0x20], edx
jmp 0x4efa10
mov ecx, dword [0x21fd830]
xor ebp, ebp
test ecx, ecx
jne 0x4efbff
xor eax, eax
jmp 0x4efc09
mov eax, dword [0x21fd834]
sub eax, ecx
sar eax, 2
cmp edx, eax
jge 0x4efe2d
test ecx, ecx
jne 0x4efc19
xor eax, eax
jmp 0x4efc23
mov eax, dword [0x21fd834]
sub eax, ecx
sar eax, 2
cmp edx, eax
jge 0x4efe23
lea eax, [ecx + edx*4]
mov dword [0x21fd83c], eax
mov edi, dword [eax]
test edi, edi
je 0x4efe23
mov eax, dword [esp + 0x18]
movzx ebx, byte [esi + 0x638]
inc eax
mov dword [esp + 0x18], eax
mov eax, ebx
imul eax, eax, 0x125c
fild dword [esp + 0x18]
fcomp dword [eax + esi + 0x184c]
fnstsw ax
test ah, 5
jnp 0x4efe23
mov eax, dword [esi + 4]
mov ecx, dword [0x71c2a4]
lea edx, [eax + 0x25]
cmp ecx, edx
mov byte [esp + 0x14], 0x82
mov byte [esp + 0x10], 0x80
mov byte [esp + 0x1c], 0x78
jl 0x4efcc3
lea edx, [eax + 0x12e]
cmp ecx, edx
jg 0x4efcc3
mov ecx, dword [esi + 8]
add ecx, ebp
lea edx, [ecx + 0x70]
cmp dword [0x71c2a8], edx
jl 0x4efcc3
mov edx, dword [0x71c2a8]
add ecx, 0x84
cmp edx, ecx
jg 0x4efcc3
mov byte [esp + 0x14], 0xaa
mov byte [esp + 0x10], 0xaa
mov byte [esp + 0x1c], 0xaa
mov ecx, dword [esi + ebx*4 + 0x63c]
cmp ecx, dword [edi]
jne 0x4efcdd
mov byte [esp + 0x14], 0xff
mov byte [esp + 0x10], 0xff
mov byte [esp + 0x1c], 0xff
movzx edx, word [edi + 6]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x18]
push 0x6c39c8
push 0
push ebx
push ecx
mov ecx, dword [esi + 8]
push edx
lea edx, [ecx + ebp + 0x70]
push edx
add eax, 0x28
push eax
push 0x2209408
call fcn.00541930
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
lea eax, [edi + 9]
push eax
mov eax, dword [esi + 8]
push 0x6be170
push 0
push ebx
push ecx
push edx
mov edx, dword [esi + 4]
lea ecx, [eax + ebp + 0x70]
push ecx
add edx, 0x43
push edx
push 0x2209408
call fcn.00541930
xor eax, eax
mov al, byte [edi + 8]
add esp, 0x48
lea ecx, [esp + 0x2c]
push eax
push ecx
call fcn.004ee080
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 8]
push eax
mov eax, dword [esp + 0x20]
push 0x6be170
push 0
push ebx
push edx
push eax
mov eax, dword [esi + 4]
lea edx, [ecx + ebp + 0x70]
push edx
add eax, 0xbd
push eax
push 0x2209408
call fcn.00541930
movzx ecx, byte [edi + 4]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esi + 8]
push 0x6bcafc
push 0
push ebx
push edx
push eax
mov eax, dword [esi + 4]
lea edx, [ecx + ebp + 0x70]
push edx
add eax, 0x103
push eax
push 0x2209408
call fcn.00541930
mov al, byte [edi + 0x1e]
add esp, 0x50
cmp al, 1
jne 0x4efdca
push 0x6c39c4
push 0
push 0
push 0xff
jmp 0x4efdeb
cmp al, 3
jne 0x4efde0
push 0x6c39c4
push 0
push 0
push 0xff
push 0
jmp 0x4efdf0
push 0x6c39c0
push 0
push 0
push 0
push 0xff
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
lea edx, [ecx + ebp + 0x70]
push edx
add eax, 0x11c
push eax
push 0x2209408
call fcn.00541930
add ebp, 0x17
add esp, 0x20
cmp ebp, 0x142
jg 0x4efe2d
mov ecx, dword [0x21fd830]
mov edx, dword [esp + 0x20]
inc edx
mov dword [esp + 0x20], edx
jmp 0x4efbf7
mov ecx, 0x2209408
call fcn.005bfb50
mov eax, dword [0x85cfbc]
test eax, eax
je 0x4efea4
mov ecx, dword [eax + 0x2d0]
test ecx, ecx
je 0x4efea4
mov ecx, 0x2209408
call fcn.005bfb50
push 0x13e0
call fcn.0041d4a0
mov ecx, dword [0x85cfbc]
mov edx, dword [ecx + 0x2d0]
mov ecx, dword [esi + 4]
push eax
mov eax, dword [esi + 8]
push edx
push str._s__s
push 0
push 0x1b
push 0xd3
push 0x99
add eax, 0x34
push eax
add ecx, 0x45
push ecx
push 0x2209408
call fcn.00541930
add esp, 0x2c
mov ecx, 0x2209408
call fcn.005bfb50
movzx ecx, byte [esi + 0x638]
mov edx, dword [esi + 8]
imul ecx, ecx, 0x125c
mov eax, dword [esi + 4]
push edx
push eax
lea ecx, [ecx + esi + 0x644]
call fcn.0052b6f0
movzx ecx, byte [esi + 0x638]
mov edx, dword [esi + 8]
imul ecx, ecx, 0x5d8
mov eax, dword [esi + 4]
push edx
push eax
lea ecx, [ecx + esi + 0x2b00]
call fcn.00528b00
mov al, byte [esi + 0x638]
test al, al
je 0x4eff5a
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
lea ecx, [esi + 0x7120]
call fcn.00528b00
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push edx
lea ecx, [esi + 0x76f8]
call fcn.00528b00
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push eax
push ecx
lea ecx, [esi + 0x7cd0]
call fcn.00528b00
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
lea ecx, [esi + 0x4838]
call fcn.00528b00
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push edx
lea ecx, [esi + 0x4e10]
call fcn.00528b00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x120
ret
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push eax
push ecx
lea ecx, [esi + 0x53e8]
call fcn.00528b00
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
lea ecx, [esi + 0x59c0]
call fcn.00528b00
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push edx
lea ecx, [esi + 0x5f98]
call fcn.00528b00
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push eax
push ecx
lea ecx, [esi + 0x6570]
call fcn.00528b00
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
lea ecx, [esi + 0x6b48]
call fcn.00528b00
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push edx
lea ecx, [esi + 0x36b0]
call fcn.00528b00
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push eax
push ecx
lea ecx, [esi + 0x3c88]
call fcn.00528b00
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
lea ecx, [esi + 0x4260]
call fcn.00528b00
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push edx
lea ecx, [esi + 0xb1f8]
call fcn.00528b00
mov al, byte [esi + 0xac1c]
test al, al
je 0x4f003b
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
add ecx, 0x14a
push eax
push ecx
lea ecx, [esi + 0xabfc]
call fcn.00549a70
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
lea ecx, [esi + 0xac20]
call fcn.00528b00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x120
ret