Function at 0x71ad960f
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
cmp byte [esi], 0x4a
je 0x71b191dc
cmp byte [ebp + 0x20], 0
mov dword [esp + 0x20], 0x7fffffff
jne 0x71b1b278
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x71ad9656
cmp byte [eax], 0x1d
jne 0x71b1b282
cmp dword [eax + 0x10], 0
mov byte [esp + 0xe], 1
jl 0x71ad965b
mov byte [esp + 0xe], 0
test byte [esi + 0x10], 0x40
jne 0x71b1b28f
mov cl, byte [esi]
cmp cl, 7
je 0x71af8bf1
cmp cl, 1
je 0x71ae7e1c
push 0
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x23]
push eax
mov eax, dword [ebp + 0x14]
push eax
mov dword [esp + 0x2c], eax
movzx eax, byte [ebp + 0x10]
push 0
push eax
push esi
call fcn.71ad94db
test al, al
je 0x71af4794
and dword [esp + 0x14], 0
cmp byte [esp + 0xe], 0
mov edi, dword [esp + 0x18]
jne 0x71aef11e
test byte [esi + 0x10], 0x40
jne 0x71afd70e
test edi, edi
jne 0x71aee177
mov al, byte [esp + 0xe]
test al, al
jne 0x71aef195
mov edx, dword [ebp + 0x14]
mov esi, dword [esp + 0x1c]
test edi, edi
jne 0x71aee192
push edi
push edx
push esi
mov ecx, ebx
call fcn.71aca43b
test esi, esi
je 0x71ad970c
test byte [esi + 0x10], 0x40
je 0x71aed25a
test edi, edi
jne 0x71aed250
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x18], 1
jne 0x71ad972d
test eax, eax
je 0x71ad972d
test esi, esi
je 0x71ad9750
test edi, edi
jne 0x71aee383
test esi, esi
je 0x71ad9750
test byte [esi + 0x10], 0x40
je 0x71b1b2e8
cmp dword [ebp + 0x18], 1
mov ecx, ebx
jne 0x71adcc97
push dword [ebp + 0xc]
push esi
call fcn.71ad1aa0
test edi, edi
jne 0x71aee2a6
cmp byte [ebp + 0x20], 0
jne 0x71b1b2fc
cmp byte [esp + 0xe], 0
jne 0x71aef308
xor ecx, ecx
mov dword [esp + 0x20], ecx
test esi, esi
je 0x71ad9799
test byte [esi + 0x10], 0x80
jne 0x71b1b32d
test byte [esi + 0x10], 0x40
je 0x71b1b33d
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 0x627b6d8]
mov dword [esp + 0x20], ecx
test edi, edi
jne 0x71aee2ca
mov eax, dword [ebp + 0x1c]
mov dword [eax], ecx
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
movzx eax, byte [esi + 1]
push eax
push dword [esi + 0xc]
call fcn.71ad1a72
jmp 0x71ad9750
push esi
mov ecx, ebx
call fcn.71ad1ea1
test al, al
je 0x71ad9679
push esi
mov ecx, ebx
call fcn.71ad1f60
and dword [esp + 0x14], 0
xor edi, edi
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x10], eax
jmp 0x71ad9714
test byte [edi + 0x10], 0x40
jne 0x71ad9714
xor al, al
jmp 0x71ad97a8
movzx eax, byte [edi + 1]
test byte [eax + 0x627b5f0], 0x18
je 0x71ad96d9
call fcn.71b21586
jmp 0x71ad96d9
test esi, esi
je 0x71b0b69e
cmp byte [edi], 0xc
jne 0x71aee1b9
cmp dword [edi + 0x10], 0
jge 0x71aee1b9
test al, al
je 0x71b1b2b1
mov eax, dword [edi + 0x24]
cmp byte [eax], 7
je 0x71afcd54
test byte [esi + 0x10], 0x40
jne 0x71aeeee2
test byte [edi + 0x10], 0x40
jne 0x71afd952
cmp byte [ebp + 0x10], 0
jne 0x71afadfe
cmp byte [esp + 0xf], 0
je 0x71b06d1a
push esi
push edi
call fcn.71ae621a
push edx
push eax
mov ecx, ebx
call fcn.71aca36e
movzx edx, byte [esi + 6]
mov ecx, edx
or ecx, eax
not ecx
and ecx, dword [esp + 0x10]
je 0x71b0f884
push 0
push ecx
push edi
mov ecx, ebx
call fcn.71aca43b
mov eax, dword [edi + 0xc]
mov ecx, ebx
push dword [ebp + 0xc]
push edi
movzx eax, byte [eax + 0x627b6d8]
not eax
and dword [esp + 0x18], eax
call fcn.71ad1aa0
push 0
push dword [esp + 0x14]
mov ecx, ebx
push esi
call fcn.71aca43b
mov ecx, ebx
push dword [ebp + 0xc]
push esi
call fcn.71ad1aa0
mov eax, dword [esi + 0xc]
mov ecx, ebx
push edi
movzx eax, byte [eax + 0x627b6d8]
or dword [ebx + 0x15d4], eax
call fcn.71ae6151
mov eax, dword [esi + 0xc]
mov ecx, ebx
movzx eax, byte [eax + 0x627b6d8]
sub dword [ebx + 0x15d4], eax
push esi
call fcn.71ae6151
jmp 0x71ad96fe
test byte [edi + 0x10], 0x40
je 0x71b1b2f2
cmp dword [ebp + 0x18], 1
jne 0x71ad9758
push dword [ebp + 0xc]
mov ecx, ebx
push edi
call fcn.71ad1aa0
jmp 0x71ad9758
test byte [edi + 0x10], 0x80
jne 0x71b1b347
test byte [edi + 0x10], 0x40
je 0x71b1b38c
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x20]
movzx eax, byte [eax + 0x627b6d8]
or ecx, eax
jmp 0x71ad97a1
mov eax, dword [edi + 0x10]
and eax, dword [esi + 0x10]
test al, 0x40
je 0x71ad972d
mov eax, dword [esi + 0xc]
cmp eax, dword [edi + 0xc]
jne 0x71ad972d
jmp 0x71af4794
test byte [esi + 0x10], 0x40
je 0x71b1b2c5
cmp byte [esp + 0xf], 0
je 0x71b06cfd
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x10]
push 0
movzx eax, byte [eax + 0x627b6d8]
not eax
and ecx, eax
push ecx
mov dword [esp + 0x18], ecx
mov ecx, ebx
push edi
call fcn.71aca43b
cmp byte [esp + 0xf], 0
mov ecx, ebx
je 0x71b06c95
push esi
call fcn.71ad1f60
jmp 0x71ad96fe
test byte [edi + 0x10], 0x40
jne 0x71b09011
cmp byte [esp + 0xf], 0
jne 0x71aeee94
push esi
mov ecx, ebx
call fcn.71ad1f60
push dword [ebp + 0xc]
mov ecx, ebx
push esi
call fcn.71ad1aa0
jmp 0x71aeee94
mov al, byte [edi]
cmp al, 0xc
je 0x71ad96c7
cmp al, 0x22
jne 0x71b00855
mov ecx, edi
call fcn.71aeebf3
test eax, eax
jne 0x71b0085d
lea eax, [esp + 0x18]
mov dword [esp + 0x14], edi
push eax
push edi
call fcn.71afdb48
mov ecx, edi
mov edi, dword [esp + 0x18]
mov eax, dword [ecx + 0x28]
cmp byte [eax], 7
jne 0x71aef165
cmp byte [edi], 0xc
je 0x71ad96c7
call fcn.71b21586
jmp 0x71ad96c7
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x2c]
test esi, esi
je 0x71b1b2a9
mov al, byte [esi]
cmp al, 1
je 0x71b1b2a0
cmp al, 0x56
je 0x71b1b2a0
cmp al, 0x10
jne 0x71b1b29b
push esi
mov ecx, ebx
call fcn.71aef16f
mov ecx, dword [ebx + 0x15e0]
not eax
or ecx, dword [ebx + 0x15d0]
and eax, 0xcf
or ecx, dword [ebx + 0x15cc]
mov edx, dword [ebp + 0x14]
not ecx
and edx, eax
mov dword [esp + 0x10], edx
test edx, ecx
je 0x71b096e4
mov al, byte [esp + 0xe]
jmp 0x71ad96e8
xor al, al
cmp dword [ebp + 0x18], 0
mov byte [esp + 0xf], al
mov byte [esp + 0xe], al
je 0x71b097a2
push dword [esp + 0x20]
mov ecx, ebx
push edi
push esi
push dword [ebp + 0xc]
call fcn.71aef1fa
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x71b00792
cmp dword [ebp + 0x18], 0
jne 0x71ad976d
mov al, byte [esp + 0xf]
test al, al
je 0x71aef356
push esi
mov ecx, ebx
call fcn.71ae6151
mov al, byte [esp + 0xf]
cmp byte [esp + 0xe], 0
je 0x71ad976d
and dword [esp + 0x1c], 0
and dword [esp + 0x20], 0
test al, al
je 0x71aef38a
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebx
movzx eax, byte [eax + 0x627b6d8]
push eax
mov dword [esp + 0x24], eax
call fcn.71af0d96
push edi
mov ecx, ebx
call fcn.71ae6151
mov al, byte [esp + 0xf]
test al, al
je 0x71ad976d
push dword [esp + 0x20]
mov ecx, ebx
push dword [esp + 0x20]
call fcn.71af0dd0
jmp 0x71ad976d
cmp byte [esp + 0xe], 0
je 0x71aed25a
call fcn.71b21586
jmp 0x71aed25a
and dword [esp + 0x14], 0
xor edi, edi
xor esi, esi
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x71ad9717
cmp dword [esp + 0x24], 0
je 0x71aed25a
jmp 0x71aee1d7
and dword [esp + 0x14], 0
xor edi, edi
mov eax, dword [eax + 0x24]
push edi
push dword [esp + 0x14]
mov dword [esp + 0x28], eax
jmp 0x71ad96f6
cmp byte [ebp + 0x10], 0
jne 0x71ad97a6
xor edi, edi
and dword [esp + 0x14], edi
jmp 0x71ad9714
cmp byte [edi], 0x56
jne 0x71b1b2bb
cmp byte [esp + 0xf], 0
je 0x71afd975
push edi
mov ecx, ebx
call fcn.71ad1f60
push dword [ebp + 0xc]
mov ecx, ebx
push edi
call fcn.71ad1aa0
push 0
push dword [esp + 0x14]
mov ecx, ebx
push esi
call fcn.71aca43b
cmp byte [esp + 0xf], 0
mov ecx, ebx
jne 0x71aee23c
push edi
jmp 0x71aeeed8
test byte [edi + 0x10], 0x40
je 0x71b1b311
mov al, byte [ecx]
cmp al, 0x22
jne 0x71b00867
test byte [edi + 0x10], 0x40
je 0x71b0086f
mov eax, dword [ecx + 0x14]
cmp eax, dword [edi + 0x14]
jne 0x71b1b31f
mov eax, dword [ecx + 0x18]
cmp eax, dword [edi + 0x18]
jne 0x71b1b31f
mov eax, dword [ebx + 0x18a0]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0x18a4]
mov dword [edi + 0x18], eax
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 0x18]
mov dword [ecx + 0x18], eax
mov ecx, dword [ecx + 0x28]
mov eax, dword [ebx + 0x18a0]
push edi
mov dword [ecx + 0x14], eax
mov eax, dword [ebx + 0x18a4]
mov dword [ecx + 0x18], eax
mov ecx, ebx
call fcn.71ae6151
mov eax, dword [esp + 0x14]
mov ecx, ebx
push 0
push dword [esp + 0x14]
mov edi, eax
push eax
call fcn.71aca43b
push dword [ebp + 0xc]
mov ecx, ebx
push edi
call fcn.71ad1aa0
jmp 0x71aef338
cmp al, 0x2a
je 0x71aef130
call fcn.71b21586
jmp 0x71aef13f
cmp al, 0x2a
je 0x71b007a6
call fcn.71b21586
mov ecx, dword [esp + 0x14]
jmp 0x71b007b0
lea eax, [esp + 0x18]
push eax
mov eax, dword [edi + 0xc]
movzx eax, byte [eax + 0x627b6d8]
push eax
call fcn.71af0d96
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 0x627b6d8]
cmp dword [esp + 0x18], eax
je 0x71b1b2cf
push esi
call fcn.71ae6151
mov eax, dword [edi + 0xc]
mov ecx, ebx
push dword [esp + 0x18]
movzx eax, byte [eax + 0x627b6d8]
push eax
call fcn.71af0dd0
jmp 0x71ad96fe
push esi
push dword [esi + 0xc]
mov ecx, ebx
call fcn.71b06cdf
test al, al
jne 0x71aeeea9
call fcn.71b21586
jmp 0x71aeeea9
push edi
push esi
call fcn.71ae621a
push edx
push eax
mov ecx, ebx
call fcn.71aca36e
movzx edx, byte [edi + 6]
mov ecx, edx
or ecx, eax
not ecx
and ecx, dword [esp + 0x10]
je 0x71b12187
push 0
push ecx
push esi
mov ecx, ebx
call fcn.71aca43b
jmp 0x71aeeefb
cmp byte [esp + 0xf], 0
mov eax, esi
jne 0x71b0901c
mov eax, edi
push eax
mov ecx, ebx
jmp 0x71aeeed8
mov edx, eax
mov dword [esp + 0x10], edx
jmp 0x71aef1f1
test esi, esi
je 0x71b097b7
push dword [ebp + 0xc]
inc al
mov ecx, ebx
push esi
mov byte [esp + 0x17], al
call fcn.71ad1aa0
test edi, edi
je 0x71aef31c
push dword [ebp + 0xc]
mov ecx, ebx
mov byte [esp + 0x12], 1
push edi
call fcn.71ad1aa0
jmp 0x71aef31c
push esi
push esi
push edi
mov ecx, ebx
call fcn.71aca43b
jmp 0x71ad970c
mov ecx, edx
or ecx, eax
mov eax, 0xcf
not ecx
and ecx, eax
jne 0x71aee206
mov ecx, edx
not ecx
and ecx, eax
jmp 0x71aee206
mov ecx, edx
or ecx, eax
mov eax, 0xcf
not ecx
and ecx, eax
jne 0x71b06d3e
mov ecx, edx
not ecx
and ecx, eax
jmp 0x71b06d3e
push dword [ebp + 0x18]
push ecx
push dword [ebp + 0xc]
push esi
call fcn.71b18da6
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
jmp 0x71ad97a6
call fcn.71b21586
jmp 0x71ad963b
call fcn.71b21586
mov eax, dword [ebp + 0xc]
jmp 0x71ad964b
and dword [esp + 0x14], 0
xor edi, edi
jmp 0x71af8bfa
call fcn.71b21586
cmp byte [esi], 0x10
je 0x71aef1bd
mov edx, dword [ebp + 0x14]
jmp 0x71aef1f1
call fcn.71b21586
jmp 0x71aee1ad
call fcn.71b21586
jmp 0x71afd95b
call fcn.71b21586
jmp 0x71aeee9e
mov eax, dword [edi + 0xc]
push dword [esp + 0x18]
movzx eax, byte [eax + 0x627b6d8]
push eax
call fcn.71af0dd0
jmp 0x71aee26f
call fcn.71b21586
jmp 0x71ad973b
call fcn.71b21586
jmp 0x71aee2b0
cmp dword [esp + 0x14], 0
je 0x71ad97a6
call fcn.71b21586
jmp 0x71ad97a6
call fcn.71b21586
mov ecx, dword [esp + 0x14]
jmp 0x71b0079c
call fcn.71b21586
mov ecx, dword [esp + 0x14]
jmp 0x71b007c8
push 1
push ecx
push esi
mov ecx, ebx
call fcn.71b0156a
jmp 0x71ad9781
call fcn.71b21586
jmp 0x71ad978b
mov ecx, ebx
test esi, esi
je 0x71b1b37d
mov eax, dword [esi + 0xc]
movzx esi, byte [eax + 0x627b6d8]
lea eax, [esp + 0x24]
push eax
push esi
call fcn.71af0d96
push 1
push 0
push edi
call fcn.71b0156a
push dword [esp + 0x24]
mov ecx, ebx
push esi
call fcn.71af0dd0
jmp 0x71aee2d4
push 1
push 0
push edi
call fcn.71b0156a
jmp 0x71aee2d4
call fcn.71b21586
jmp 0x71aee2de