Function at 0x4ade30
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xd0
mov eax, dword [0x4d8620]
xor eax, esp
mov dword [esp + 0xcc], eax
push ebx
push ebp
xor ebx, ebx
push esi
mov esi, dword [esp + 0xe0]
mov ecx, dword [esi + 0x4c]
mov eax, ecx
push edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x14], 0xfffffffd
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
xor ebp, ebp
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4ade87
sub eax, edi
mov word [esi + 0x20], ax
movzx eax, ax
xor edx, edx
cmp byte [eax + ecx - 1], 0x2f
lea eax, [esp + 0x44]
sete dl
push eax
mov eax, dword [esi + 0x60]
lea ecx, [esp + 0x18]
push ecx
mov dword [0x572008], 0xffffffff
mov dword [0x57200c], ebx
mov dword [esp + 0x24], edx
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.00480da0
mov dword [esp + 0x20], eax
test eax, eax
je 0x4ae77f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp eax, 0xfffffffd
jne 0x4adeef
cmp ecx, 0xffffffff
je 0x4ae77f
cmp eax, 0xfffffffe
jne 0x4adf11
cmp ecx, 0xffffffff
jne 0x4adf11
xor eax, eax
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jmp 0x4adf3f
mov edx, dword [esp + 0x24]
shr edx, 4
and edx, 1
cmp dword [esp + 0x1c], edx
je 0x4adf29
or eax, 0xffffffff
jmp 0x4ae784
cmp ecx, 0xffffffff
jb 0x4adf3d
ja 0x4adf35
cmp eax, 0xfffffffd
jbe 0x4adf3d
xor edi, edi
xor eax, eax
xor ecx, ecx
jmp 0x4adf3f
xor edi, edi
mov dword [esi + 0x18], eax
mov eax, 0xffff
mov dword [esi + 0x1c], ecx
mov word [esi + 0x2c], ax
mov dword [esi + 0x38], edi
cmp dword [0x4d6dcc], 2
jne 0x4adfd2
movzx eax, word [esi + 0x22]
cmp ax, di
je 0x4adf96
movzx ecx, ax
push ecx
call fcn.004aee96
mov ebx, eax
add esp, 4
mov dword [esp + 0x2c], ebx
cmp ebx, edi
jne 0x4adf80
push 4
call fcn.004a59d0
movzx edx, word [esi + 0x22]
mov eax, dword [esi + 0x40]
push edx
push eax
push ebx
call fcn.004af6a0
movzx ebx, word [esi + 0x22]
add esp, 0xc
movzx eax, word [esi + 0x24]
cmp ax, di
je 0x4adfd2
movzx ecx, ax
push ecx
call fcn.004aee96
mov ebp, eax
add esp, 4
cmp ebp, edi
jne 0x4adfb8
push 4
call fcn.004a59d0
movzx edx, word [esi + 0x24]
mov eax, dword [esi + 0x44]
push edx
push eax
push ebp
call fcn.004af6a0
movzx ecx, word [esi + 0x24]
add esp, 0xc
mov dword [esp + 0x28], ecx
cmp word [esi + 0x22], di
je 0x4adfe4
mov edx, dword [esi + 0x40]
push edx
call fcn.004aef60
add esp, 4
cmp word [esi + 0x24], di
je 0x4adffb
mov eax, dword [esi + 0x44]
cmp dword [esi + 0x40], eax
je 0x4adffb
push eax
call fcn.004aef60
add esp, 4
xor ecx, ecx
xor eax, eax
mov word [esi + 0x22], cx
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], edi
mov word [esi + 0x24], ax
mov dword [0x4f0670], edi
mov edx, dword [esi + 0x3c]
push edx
mov ecx, 0x52fee8
call fcn.0041c5d0
movzx eax, al
neg eax
sbb eax, eax
not eax
and eax, dword [0x4d6dbc]
cmp dword [0x533e24], 4
mov dword [esp + 0x10], eax
jne 0x4ae048
lea ecx, [esp + 0x44]
push ecx
push esi
call fcn.00480ef0
mov edx, dword [esp + 0x24]
push edx
call fcn.0043a010
mov dword [esp + 0x40], eax
cmp eax, edi
je 0x4ae06c
xor eax, eax
mov dword [0x571bec], 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x4ae0c6
cmp dword [esp + 0x1c], edi
je 0x4ae090
xor eax, eax
xor edi, edi
xor edx, edx
mov dword [0x571bec], 0xffffffff
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edx
jmp 0x4ae0ce
movzx eax, byte [0x533871]
neg eax
sbb eax, eax
and eax, 0x20
add eax, 0x20
push edi
push eax
mov eax, dword [esi + 0x60]
push 0x8000
push eax
call fcn.004b3b28
add esp, 0x10
mov dword [0x571bec], eax
cmp eax, 0xffffffff
je 0x4ae77f
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [esi + 8], ecx
cmp dword [0x4d6dcc], 2
jne 0x4ae17b
movzx eax, word [esi + 0x22]
mov ecx, dword [esi + 0x40]
lea edx, [esp + 0x20]
push edx
push eax
mov eax, dword [esp + 0x34]
movzx edx, bx
push ecx
push edx
push eax
call fcn.004a8120
mov ecx, dword [esi + 0x40]
push ecx
mov edi, eax
call fcn.004aef60
movzx edx, word [esp + 0x24]
movzx ecx, word [esi + 0x24]
add esp, 4
lea eax, [esp + 0x20]
push eax
movzx eax, word [esp + 0x2c]
push ecx
mov word [esi + 0x22], dx
mov edx, dword [esi + 0x44]
push edx
push eax
push ebp
mov dword [esi + 0x40], edi
call fcn.004a8120
mov ecx, dword [esi + 0x44]
push ecx
mov edi, eax
call fcn.004aef60
movzx edx, word [esp + 0x24]
add esp, 4
mov word [esi + 0x24], dx
mov dword [esi + 0x44], edi
test bx, bx
je 0x4ae15e
mov eax, dword [esp + 0x2c]
push eax
call fcn.004aef60
add esp, 4
cmp word [esp + 0x28], 0
je 0x4ae16f
push ebp
call fcn.004aef60
add esp, 4
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, edi
xor ebx, ebx
or ecx, edx
jne 0x4ae187
xor eax, eax
jmp 0x4ae191
cmp eax, 0xffffffff
jne 0x4ae195
mov eax, 8
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0x1c]
mov ecx, 0x1f
mov word [esi], cx
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0xa
add ecx, 0xa
mov word [esi + 2], cx
mov dword [esi + 0xc], ebx
cmp ebp, ebx
je 0x4ae1c0
xor ecx, ecx
mov word [esi + 4], cx
jmp 0x4ae1e4
mov ecx, 8
mov word [esi + 4], cx
cmp word [0x533304], bx
je 0x4ae1e4
mov ecx, 9
mov word [esi + 4], cx
mov ecx, dword [esi + 8]
shl ecx, 0x10
mov dword [esi + 0xc], ecx
mov cx, word [esi + 4]
mov word [esi + 0x2e], cx
mov word [esi + 6], ax
cmp eax, ebx
jne 0x4ae204
cmp edx, ebx
jl 0x4ae204
jg 0x4ae1fe
cmp edi, ebx
jb 0x4ae204
mov eax, edi
mov ecx, edx
jmp 0x4ae208
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x10], eax
mov eax, edi
and eax, edx
mov dword [esi + 0x14], ecx
cmp eax, 0xffffffff
je 0x4ae21d
mov eax, edi
mov ecx, edx
jmp 0x4ae221
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x1c]
mov ecx, eax
mov dword [esi + 0x18], eax
mov eax, 0xffff
mov dword [0x572000], ebx
mov dword [0x572004], ebx
mov dword [0x571ff8], ecx
mov dword [0x571ffc], edx
cmp word [esi + 0x2c], ax
jne 0x4ae25d
xor ecx, ecx
mov word [esi + 0x2c], cx
mov dword [esp + 0x30], 1
mov edx, dword [esi + 0x38]
and edx, 0xff00
or edx, dword [esp + 0x24]
push ebx
push esi
mov dword [esi + 0x38], edx
call fcn.004aaa40
mov edi, eax
cmp edi, ebx
je 0x4ae294
mov eax, dword [0x571bec]
cmp eax, 0xffffffff
je 0x4ae28d
push eax
call fcn.004bb342
add esp, 4
mov eax, edi
jmp 0x4ae784
mov eax, dword [0x514e40]
mov dword [esi + 0x30], eax
mov ecx, dword [0x514e44]
movzx eax, word [esi + 0x20]
mov dword [esi + 0x34], ecx
movzx ecx, word [esi + 0x22]
mov edx, dword [0x514e08]
mov dword [esi + 0x28], edx
lea eax, [eax + ecx + 0x1e]
cdq
add dword [0x513958], eax
mov edi, 0xc
adc dword [0x51395c], edx
cmp ebp, ebx
jne 0x4ae30d
cmp word [0x533304], bx
je 0x4ae30d
push 0x80
lea edx, [esp + 0x60]
push edx
push 0x533304
call fcn.00455a50
mov eax, dword [esi + 0xc]
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.004a5230
add dword [esi + 0x10], edi
adc dword [esi + 0x14], ebx
add dword [0x513958], edi
adc dword [0x51395c], ebx
mov edx, dword [0x514ddc]
push edx
call fcn.004b1af2
add esp, 4
test eax, eax
je 0x4ae34d
mov eax, dword [0x571bec]
cmp eax, 0xffffffff
je 0x4ae333
push eax
call fcn.004bb342
add esp, 4
mov eax, dword [0x513954]
push eax
push ebx
push eax
push ebx
mov ecx, 0x513904
call fcn.00429f60
push 0xe
call fcn.004a59d0
mov eax, dword [0x514ddc]
push eax
call fcn.004b25ce
mov ecx, dword [0x514ddc]
push ecx
mov ebp, eax
mov edi, edx
call fcn.004b1af2
add esp, 8
test eax, eax
je 0x4ae37e
mov edx, dword [0x514ddc]
push edx
call fcn.004b3b1d
add esp, 4
mov eax, ebp
and eax, edi
cmp eax, 0xffffffff
je 0x4ae398
cmp edi, ebx
jg 0x4ae398
jl 0x4ae391
cmp ebp, ebx
jae 0x4ae398
push 6
call fcn.004a59d0
mov dword [0x571bd8], ebx
mov dword [0x571bdc], ebx
mov dword [0x571ff0], ebx
cmp dword [esp + 0x1c], ebx
jne 0x4ae4ca
cmp dword [esp + 0x10], ebx
je 0x4ae3de
cmp dword [esp + 0x30], ebx
je 0x4ae3c9
mov ecx, 0xffff
mov word [esi + 0x2c], cx
lea edx, [esp + 0x10]
push edx
mov eax, esi
call fcn.004addd0
mov edi, eax
mov ebx, edx
jmp 0x4ae4d2
push 0x4000
call fcn.004aee96
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x4ae3fb
mov eax, 4
jmp 0x4ae784
cmp dword [esp + 0x40], ebx
je 0x4ae454
push ebx
push edi
push ebx
xor ebp, ebp
call fcn.004a4ea0
push ebx
push 1
push edi
mov dword [0x571ff0], eax
call fcn.004a5160
test eax, eax
je 0x4ae42e
push edi
call fcn.004aef60
add esp, 4
lea eax, [ebp + 0xa]
jmp 0x4ae784
mov dword [0x571bd8], ebx
mov dword [0x571bdc], ebx
push edi
call fcn.004aef60
mov edi, dword [0x571bd8]
mov ebx, dword [0x571bdc]
add esp, 4
jmp 0x4ae4d6
push 0x4000
push edi
call fcn.004adc60
mov ebp, eax
cmp ebp, ebx
jbe 0x4ae43a
cmp ebp, 0xffffffff
je 0x4ae43a
push ebx
push ebp
call fcn.00409d60
push ebp
push 1
push edi
call fcn.004a5160
cmp eax, ebp
jne 0x4ae491
push 0x4000
push edi
call fcn.004adc60
mov ebp, eax
cmp ebp, ebx
ja 0x4ae465
jmp 0x4ae43a
mov eax, dword [0x571bec]
cmp eax, 0xffffffff
je 0x4ae4a4
push eax
call fcn.004bb342
add esp, 4
push edi
call fcn.004aef60
mov eax, dword [0x513954]
add esp, 4
push eax
push ebx
push eax
push ebx
mov ecx, 0x513904
call fcn.00429f60
mov eax, 0xa
jmp 0x4ae784
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov eax, dword [0x571bec]
cmp eax, 0xffffffff
je 0x4ae513
cmp ebp, 0xffffffff
jne 0x4ae505
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x54]
mov edx, dword [0x513954]
push eax
push ecx
push edx
push 0
mov ecx, 0x513904
call fcn.00429ec0
mov eax, dword [0x571bec]
cmp eax, 0xffffffff
je 0x4ae513
push eax
call fcn.004bb342
add esp, 4
add dword [0x513958], edi
adc dword [0x51395c], ebx
xor eax, eax
cmp dword [esp + 0x1c], eax
je 0x4ae554
mov edx, 0xfff7
and word [esi + 4], dx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov word [esi + 6], ax
mov ecx, 0xa
mov eax, edx
and word [esi + 0x2e], ax
mov word [esi + 2], cx
jmp 0x4ae756
mov ecx, dword [0x571ff0]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ebx
cmp word [0x533304], ax
je 0x4ae57b
mov edx, edi
add edx, 0xc
mov ecx, ebx
adc ecx, eax
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ecx
mov edx, dword [0x571bd8]
mov ecx, dword [0x571bdc]
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], ecx
cmp dword [0x514db8], eax
jne 0x4ae6e2
mov edx, dword [0x514ddc]
push edx
call fcn.004ae910
test eax, eax
je 0x4ae6e2
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
mov edx, dword [0x514ddc]
push 0
push eax
push ecx
push edx
call fcn.004b2233
add esp, 0x10
test eax, eax
jne 0x4ae6e2
xor ebp, ebp
cmp word [0x533304], bp
je 0x4ae5de
add edi, 0xc
adc ebx, ebp
mov edx, dword [0x514e68]
mov eax, edi
mov ecx, ebx
cmp edx, eax
jne 0x4ae5f5
mov eax, dword [0x514e6c]
cmp eax, ecx
je 0x4ae5fc
push 5
call fcn.004a59d0
mov eax, dword [esp + 0x10]
mov word [esi + 6], ax
cmp eax, ebp
je 0x4ae618
cmp eax, 8
jne 0x4ae621
mov ecx, 0x14
mov word [esi + 2], cx
jmp 0x4ae621
mov edx, 0xa
mov word [esi + 2], dx
movzx eax, word [esi + 4]
test al, 1
jne 0x4ae632
and eax, 0xfff7
mov word [esi + 4], ax
mov ax, word [esi + 4]
mov word [esi + 0x2e], ax
cmp dword [0x514e50], 1
jne 0x4ae670
mov eax, dword [0x514e38]
cmp eax, dword [0x514ddc]
je 0x4ae670
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
push ebp
push ecx
push edx
push eax
call fcn.004b2233
add esp, 0x10
test eax, eax
je 0x4ae670
mov eax, 0xb
jmp 0x4ae784
push 1
push esi
call fcn.004aaa40
cmp eax, ebp
jne 0x4ae784
mov eax, dword [0x514e4c]
mov ecx, dword [0x514e48]
mov edx, dword [0x514ddc]
push ebp
push eax
push ecx
push edx
call fcn.004b2233
add esp, 0x10
test eax, eax
jne 0x4ae666
test byte [esi + 4], 1
je 0x4ae756
push esi
call fcn.004ab040
cmp eax, ebp
jne 0x4ae784
cmp dword [0x514dc4], ebp
je 0x4ae6d3
add dword [0x513958], 0x18
adc dword [0x51395c], ebp
jmp 0x4ae756
add dword [0x513958], 0x10
adc dword [0x51395c], ebp
jmp 0x4ae756
mov ax, word [esi + 6]
cmp ax, word [esp + 0x10]
je 0x4ae709
mov eax, dword [0x513954]
push eax
push 0
push eax
push 0
mov ecx, 0x513904
call fcn.00429f60
push 5
call fcn.004a59d0
cmp dword [esp + 0x10], 0
jne 0x4ae727
cmp dword [esp + 0x18], 0
jg 0x4ae727
jl 0x4ae720
cmp dword [esp + 0x14], 0
jae 0x4ae727
push 0x10
call fcn.004a59d0
push esi
call fcn.004ab040
test eax, eax
jne 0x4ae784
cmp dword [0x514dc4], eax
setne al
lea eax, [eax*8 + 0x10]
cdq
add dword [0x513958], eax
adc dword [0x51395c], edx
mov cx, word [esi + 0x2e]
mov word [esi + 4], cx
cmp word [esi + 0x22], 0
je 0x4ae77b
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
je 0x4ae775
push eax
call fcn.004aef60
add esp, 4
mov dword [esi + 0x40], 0
xor edx, edx
mov word [esi + 0x22], dx
xor eax, eax
jmp 0x4ae784
mov eax, 0x12
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004aedbb
add esp, 0xd0
ret 4