Function at 0x4ae080
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 0x4ae0d7
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.00481030
mov dword [esp + 0x20], eax
test eax, eax
je 0x4ae9cf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp eax, 0xfffffffd
jne 0x4ae13f
cmp ecx, 0xffffffff
je 0x4ae9cf
cmp eax, 0xfffffffe
jne 0x4ae161
cmp ecx, 0xffffffff
jne 0x4ae161
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 0x4ae18f
mov edx, dword [esp + 0x24]
shr edx, 4
and edx, 1
cmp dword [esp + 0x1c], edx
je 0x4ae179
or eax, 0xffffffff
jmp 0x4ae9d4
cmp ecx, 0xffffffff
jb 0x4ae18d
ja 0x4ae185
cmp eax, 0xfffffffd
jbe 0x4ae18d
xor edi, edi
xor eax, eax
xor ecx, ecx
jmp 0x4ae18f
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 0x4ae222
movzx eax, word [esi + 0x22]
cmp ax, di
je 0x4ae1e6
movzx ecx, ax
push ecx
call fcn.004af0e6
mov ebx, eax
add esp, 4
mov dword [esp + 0x2c], ebx
cmp ebx, edi
jne 0x4ae1d0
push 4
call fcn.004a5c80
movzx edx, word [esi + 0x22]
mov eax, dword [esi + 0x40]
push edx
push eax
push ebx
call fcn.004af8f0
movzx ebx, word [esi + 0x22]
add esp, 0xc
movzx eax, word [esi + 0x24]
cmp ax, di
je 0x4ae222
movzx ecx, ax
push ecx
call fcn.004af0e6
mov ebp, eax
add esp, 4
cmp ebp, edi
jne 0x4ae208
push 4
call fcn.004a5c80
movzx edx, word [esi + 0x24]
mov eax, dword [esi + 0x44]
push edx
push eax
push ebp
call fcn.004af8f0
movzx ecx, word [esi + 0x24]
add esp, 0xc
mov dword [esp + 0x28], ecx
cmp word [esi + 0x22], di
je 0x4ae234
mov edx, dword [esi + 0x40]
push edx
call fcn.004af1b0
add esp, 4
cmp word [esi + 0x24], di
je 0x4ae24b
mov eax, dword [esi + 0x44]
cmp dword [esi + 0x40], eax
je 0x4ae24b
push eax
call fcn.004af1b0
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 0x4ae298
lea ecx, [esp + 0x44]
push ecx
push esi
call fcn.00481180
mov edx, dword [esp + 0x24]
push edx
call fcn.0043a060
mov dword [esp + 0x40], eax
cmp eax, edi
je 0x4ae2bc
xor eax, eax
mov dword [0x571bec], 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x4ae316
cmp dword [esp + 0x1c], edi
je 0x4ae2e0
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 0x4ae31e
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.004b3d68
add esp, 0x10
mov dword [0x571bec], eax
cmp eax, 0xffffffff
je 0x4ae9cf
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 0x4ae3cb
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.004a8380
mov ecx, dword [esi + 0x40]
push ecx
mov edi, eax
call fcn.004af1b0
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.004a8380
mov ecx, dword [esi + 0x44]
push ecx
mov edi, eax
call fcn.004af1b0
movzx edx, word [esp + 0x24]
add esp, 4
mov word [esi + 0x24], dx
mov dword [esi + 0x44], edi
test bx, bx
je 0x4ae3ae
mov eax, dword [esp + 0x2c]
push eax
call fcn.004af1b0
add esp, 4
cmp word [esp + 0x28], 0
je 0x4ae3bf
push ebp
call fcn.004af1b0
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 0x4ae3d7
xor eax, eax
jmp 0x4ae3e1
cmp eax, 0xffffffff
jne 0x4ae3e5
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 0x4ae410
xor ecx, ecx
mov word [esi + 4], cx
jmp 0x4ae434
mov ecx, 8
mov word [esi + 4], cx
cmp word [0x533304], bx
je 0x4ae434
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 0x4ae454
cmp edx, ebx
jl 0x4ae454
jg 0x4ae44e
cmp edi, ebx
jb 0x4ae454
mov eax, edi
mov ecx, edx
jmp 0x4ae458
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 0x4ae46d
mov eax, edi
mov ecx, edx
jmp 0x4ae471
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 0x4ae4ad
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.004aaca0
mov edi, eax
cmp edi, ebx
je 0x4ae4e4
mov eax, dword [0x571bec]
cmp eax, 0xffffffff
je 0x4ae4dd
push eax
call fcn.004bb592
add esp, 4
mov eax, edi
jmp 0x4ae9d4
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 0x4ae55d
cmp word [0x533304], bx
je 0x4ae55d
push 0x80
lea edx, [esp + 0x60]
push edx
push 0x533304
call fcn.00455d20
mov eax, dword [esi + 0xc]
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.004a54e0
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.004b1d32
add esp, 4
test eax, eax
je 0x4ae59d
mov eax, dword [0x571bec]
cmp eax, 0xffffffff
je 0x4ae583
push eax
call fcn.004bb592
add esp, 4
mov eax, dword [0x513954]
push eax
push ebx
push eax
push ebx
mov ecx, 0x513904
call fcn.00429fd0
push 0xe
call fcn.004a5c80
mov eax, dword [0x514ddc]
push eax
call fcn.004b280e
mov ecx, dword [0x514ddc]
push ecx
mov ebp, eax
mov edi, edx
call fcn.004b1d32
add esp, 8
test eax, eax
je 0x4ae5ce
mov edx, dword [0x514ddc]
push edx
call fcn.004b3d5d
add esp, 4
mov eax, ebp
and eax, edi
cmp eax, 0xffffffff
je 0x4ae5e8
cmp edi, ebx
jg 0x4ae5e8
jl 0x4ae5e1
cmp ebp, ebx
jae 0x4ae5e8
push 6
call fcn.004a5c80
mov dword [0x571bd8], ebx
mov dword [0x571bdc], ebx
mov dword [0x571ff0], ebx
cmp dword [esp + 0x1c], ebx
jne 0x4ae71a
cmp dword [esp + 0x10], ebx
je 0x4ae62e
cmp dword [esp + 0x30], ebx
je 0x4ae619
mov ecx, 0xffff
mov word [esi + 0x2c], cx
lea edx, [esp + 0x10]
push edx
mov eax, esi
call fcn.004ae030
mov edi, eax
mov ebx, edx
jmp 0x4ae722
push 0x4000
call fcn.004af0e6
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x4ae64b
mov eax, 4
jmp 0x4ae9d4
cmp dword [esp + 0x40], ebx
je 0x4ae6a4
push ebx
push edi
push ebx
xor ebp, ebp
call fcn.004a5150
push ebx
push 1
push edi
mov dword [0x571ff0], eax
call fcn.004a5410
test eax, eax
je 0x4ae67e
push edi
call fcn.004af1b0
add esp, 4
lea eax, [ebp + 0xa]
jmp 0x4ae9d4
mov dword [0x571bd8], ebx
mov dword [0x571bdc], ebx
push edi
call fcn.004af1b0
mov edi, dword [0x571bd8]
mov ebx, dword [0x571bdc]
add esp, 4
jmp 0x4ae726
push 0x4000
push edi
call fcn.004adec0
mov ebp, eax
cmp ebp, ebx
jbe 0x4ae68a
cmp ebp, 0xffffffff
je 0x4ae68a
push ebx
push ebp
call fcn.00409d70
push ebp
push 1
push edi
call fcn.004a5410
cmp eax, ebp
jne 0x4ae6e1
push 0x4000
push edi
call fcn.004adec0
mov ebp, eax
cmp ebp, ebx
ja 0x4ae6b5
jmp 0x4ae68a
mov eax, dword [0x571bec]
cmp eax, 0xffffffff
je 0x4ae6f4
push eax
call fcn.004bb592
add esp, 4
push edi
call fcn.004af1b0
mov eax, dword [0x513954]
add esp, 4
push eax
push ebx
push eax
push ebx
mov ecx, 0x513904
call fcn.00429fd0
mov eax, 0xa
jmp 0x4ae9d4
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov eax, dword [0x571bec]
cmp eax, 0xffffffff
je 0x4ae763
cmp ebp, 0xffffffff
jne 0x4ae755
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.00429f30
mov eax, dword [0x571bec]
cmp eax, 0xffffffff
je 0x4ae763
push eax
call fcn.004bb592
add esp, 4
add dword [0x513958], edi
adc dword [0x51395c], ebx
xor eax, eax
cmp dword [esp + 0x1c], eax
je 0x4ae7a4
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 0x4ae9a6
mov ecx, dword [0x571ff0]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ebx
cmp word [0x533304], ax
je 0x4ae7cb
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 0x4ae932
mov edx, dword [0x514ddc]
push edx
call fcn.004aeb60
test eax, eax
je 0x4ae932
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
mov edx, dword [0x514ddc]
push 0
push eax
push ecx
push edx
call fcn.004b2473
add esp, 0x10
test eax, eax
jne 0x4ae932
xor ebp, ebp
cmp word [0x533304], bp
je 0x4ae82e
add edi, 0xc
adc ebx, ebp
mov edx, dword [0x514e68]
mov eax, edi
mov ecx, ebx
cmp edx, eax
jne 0x4ae845
mov eax, dword [0x514e6c]
cmp eax, ecx
je 0x4ae84c
push 5
call fcn.004a5c80
mov eax, dword [esp + 0x10]
mov word [esi + 6], ax
cmp eax, ebp
je 0x4ae868
cmp eax, 8
jne 0x4ae871
mov ecx, 0x14
mov word [esi + 2], cx
jmp 0x4ae871
mov edx, 0xa
mov word [esi + 2], dx
movzx eax, word [esi + 4]
test al, 1
jne 0x4ae882
and eax, 0xfff7
mov word [esi + 4], ax
mov ax, word [esi + 4]
mov word [esi + 0x2e], ax
cmp dword [0x514e50], 1
jne 0x4ae8c0
mov eax, dword [0x514e38]
cmp eax, dword [0x514ddc]
je 0x4ae8c0
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
push ebp
push ecx
push edx
push eax
call fcn.004b2473
add esp, 0x10
test eax, eax
je 0x4ae8c0
mov eax, 0xb
jmp 0x4ae9d4
push 1
push esi
call fcn.004aaca0
cmp eax, ebp
jne 0x4ae9d4
mov eax, dword [0x514e4c]
mov ecx, dword [0x514e48]
mov edx, dword [0x514ddc]
push ebp
push eax
push ecx
push edx
call fcn.004b2473
add esp, 0x10
test eax, eax
jne 0x4ae8b6
test byte [esi + 4], 1
je 0x4ae9a6
push esi
call fcn.004ab2a0
cmp eax, ebp
jne 0x4ae9d4
cmp dword [0x514dc4], ebp
je 0x4ae923
add dword [0x513958], 0x18
adc dword [0x51395c], ebp
jmp 0x4ae9a6
add dword [0x513958], 0x10
adc dword [0x51395c], ebp
jmp 0x4ae9a6
mov ax, word [esi + 6]
cmp ax, word [esp + 0x10]
je 0x4ae959
mov eax, dword [0x513954]
push eax
push 0
push eax
push 0
mov ecx, 0x513904
call fcn.00429fd0
push 5
call fcn.004a5c80
cmp dword [esp + 0x10], 0
jne 0x4ae977
cmp dword [esp + 0x18], 0
jg 0x4ae977
jl 0x4ae970
cmp dword [esp + 0x14], 0
jae 0x4ae977
push 0x10
call fcn.004a5c80
push esi
call fcn.004ab2a0
test eax, eax
jne 0x4ae9d4
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 0x4ae9cb
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
je 0x4ae9c5
push eax
call fcn.004af1b0
add esp, 4
mov dword [esi + 0x40], 0
xor edx, edx
mov word [esi + 0x22], dx
xor eax, eax
jmp 0x4ae9d4
mov eax, 0x12
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004af00b
add esp, 0xd0
ret 4