Function at 0x71d0960f
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 0x71d491dc
cmp byte [ebp + 0x20], 0
mov dword [esp + 0x20], 0x7fffffff
jne 0x71d4b278
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x71d09656
cmp byte [eax], 0x1d
jne 0x71d4b282
cmp dword [eax + 0x10], 0
mov byte [esp + 0xe], 1
jl 0x71d0965b
mov byte [esp + 0xe], 0
test byte [esi + 0x10], 0x40
jne 0x71d4b28f
mov cl, byte [esi]
cmp cl, 7
je 0x71d28bf1
cmp cl, 1
je 0x71d17e1c
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.71d094db
test al, al
je 0x71d24794
and dword [esp + 0x14], 0
cmp byte [esp + 0xe], 0
mov edi, dword [esp + 0x18]
jne 0x71d1f11e
test byte [esi + 0x10], 0x40
jne 0x71d2d70e
test edi, edi
jne 0x71d1e177
mov al, byte [esp + 0xe]
test al, al
jne 0x71d1f195
mov edx, dword [ebp + 0x14]
mov esi, dword [esp + 0x1c]
test edi, edi
jne 0x71d1e192
push edi
push edx
push esi
mov ecx, ebx
call fcn.71cfa43b
test esi, esi
je 0x71d0970c
test byte [esi + 0x10], 0x40
je 0x71d1d25a
test edi, edi
jne 0x71d1d250
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x18], 1
jne 0x71d0972d
test eax, eax
je 0x71d0972d
test esi, esi
je 0x71d09750
test edi, edi
jne 0x71d1e383
test esi, esi
je 0x71d09750
test byte [esi + 0x10], 0x40
je 0x71d4b2e8
cmp dword [ebp + 0x18], 1
mov ecx, ebx
jne 0x71d0cc97
push dword [ebp + 0xc]
push esi
call fcn.71d01aa0
test edi, edi
jne 0x71d1e2a6
cmp byte [ebp + 0x20], 0
jne 0x71d4b2fc
cmp byte [esp + 0xe], 0
jne 0x71d1f308
xor ecx, ecx
mov dword [esp + 0x20], ecx
test esi, esi
je 0x71d09799
test byte [esi + 0x10], 0x80
jne 0x71d4b32d
test byte [esi + 0x10], 0x40
je 0x71d4b33d
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 0x653b6d8]
mov dword [esp + 0x20], ecx
test edi, edi
jne 0x71d1e2ca
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.71d01a72
jmp 0x71d09750
push esi
mov ecx, ebx
call fcn.71d01ea1
test al, al
je 0x71d09679
push esi
mov ecx, ebx
call fcn.71d01f60
and dword [esp + 0x14], 0
xor edi, edi
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x10], eax
jmp 0x71d09714
test byte [edi + 0x10], 0x40
jne 0x71d09714
xor al, al
jmp 0x71d097a8
movzx eax, byte [edi + 1]
test byte [eax + 0x653b5f0], 0x18
je 0x71d096d9
call fcn.71d51586
jmp 0x71d096d9
test esi, esi
je 0x71d3b69e
cmp byte [edi], 0xc
jne 0x71d1e1b9
cmp dword [edi + 0x10], 0
jge 0x71d1e1b9
test al, al
je 0x71d4b2b1
mov eax, dword [edi + 0x24]
cmp byte [eax], 7
je 0x71d2cd54
test byte [esi + 0x10], 0x40
jne 0x71d1eee2
test byte [edi + 0x10], 0x40
jne 0x71d2d952
cmp byte [ebp + 0x10], 0
jne 0x71d2adfe
cmp byte [esp + 0xf], 0
je 0x71d36d1a
push esi
push edi
call fcn.71d1621a
push edx
push eax
mov ecx, ebx
call fcn.71cfa36e
movzx edx, byte [esi + 6]
mov ecx, edx
or ecx, eax
not ecx
and ecx, dword [esp + 0x10]
je 0x71d3f884
push 0
push ecx
push edi
mov ecx, ebx
call fcn.71cfa43b
mov eax, dword [edi + 0xc]
mov ecx, ebx
push dword [ebp + 0xc]
push edi
movzx eax, byte [eax + 0x653b6d8]
not eax
and dword [esp + 0x18], eax
call fcn.71d01aa0
push 0
push dword [esp + 0x14]
mov ecx, ebx
push esi
call fcn.71cfa43b
mov ecx, ebx
push dword [ebp + 0xc]
push esi
call fcn.71d01aa0
mov eax, dword [esi + 0xc]
mov ecx, ebx
push edi
movzx eax, byte [eax + 0x653b6d8]
or dword [ebx + 0x15d4], eax
call fcn.71d16151
mov eax, dword [esi + 0xc]
mov ecx, ebx
movzx eax, byte [eax + 0x653b6d8]
sub dword [ebx + 0x15d4], eax
push esi
call fcn.71d16151
jmp 0x71d096fe
test byte [edi + 0x10], 0x40
je 0x71d4b2f2
cmp dword [ebp + 0x18], 1
jne 0x71d09758
push dword [ebp + 0xc]
mov ecx, ebx
push edi
call fcn.71d01aa0
jmp 0x71d09758
test byte [edi + 0x10], 0x80
jne 0x71d4b347
test byte [edi + 0x10], 0x40
je 0x71d4b38c
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x20]
movzx eax, byte [eax + 0x653b6d8]
or ecx, eax
jmp 0x71d097a1
mov eax, dword [edi + 0x10]
and eax, dword [esi + 0x10]
test al, 0x40
je 0x71d0972d
mov eax, dword [esi + 0xc]
cmp eax, dword [edi + 0xc]
jne 0x71d0972d
jmp 0x71d24794
test byte [esi + 0x10], 0x40
je 0x71d4b2c5
cmp byte [esp + 0xf], 0
je 0x71d36cfd
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x10]
push 0
movzx eax, byte [eax + 0x653b6d8]
not eax
and ecx, eax
push ecx
mov dword [esp + 0x18], ecx
mov ecx, ebx
push edi
call fcn.71cfa43b
cmp byte [esp + 0xf], 0
mov ecx, ebx
je 0x71d36c95
push esi
call fcn.71d01f60
jmp 0x71d096fe
test byte [edi + 0x10], 0x40
jne 0x71d39011
cmp byte [esp + 0xf], 0
jne 0x71d1ee94
push esi
mov ecx, ebx
call fcn.71d01f60
push dword [ebp + 0xc]
mov ecx, ebx
push esi
call fcn.71d01aa0
jmp 0x71d1ee94
mov al, byte [edi]
cmp al, 0xc
je 0x71d096c7
cmp al, 0x22
jne 0x71d30855
mov ecx, edi
call fcn.71d1ebf3
test eax, eax
jne 0x71d3085d
lea eax, [esp + 0x18]
mov dword [esp + 0x14], edi
push eax
push edi
call fcn.71d2db48
mov ecx, edi
mov edi, dword [esp + 0x18]
mov eax, dword [ecx + 0x28]
cmp byte [eax], 7
jne 0x71d1f165
cmp byte [edi], 0xc
je 0x71d096c7
call fcn.71d51586
jmp 0x71d096c7
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x2c]
test esi, esi
je 0x71d4b2a9
mov al, byte [esi]
cmp al, 1
je 0x71d4b2a0
cmp al, 0x56
je 0x71d4b2a0
cmp al, 0x10
jne 0x71d4b29b
push esi
mov ecx, ebx
call fcn.71d1f16f
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 0x71d396e4
mov al, byte [esp + 0xe]
jmp 0x71d096e8
xor al, al
cmp dword [ebp + 0x18], 0
mov byte [esp + 0xf], al
mov byte [esp + 0xe], al
je 0x71d397a2
push dword [esp + 0x20]
mov ecx, ebx
push edi
push esi
push dword [ebp + 0xc]
call fcn.71d1f1fa
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x71d30792
cmp dword [ebp + 0x18], 0
jne 0x71d0976d
mov al, byte [esp + 0xf]
test al, al
je 0x71d1f356
push esi
mov ecx, ebx
call fcn.71d16151
mov al, byte [esp + 0xf]
cmp byte [esp + 0xe], 0
je 0x71d0976d
and dword [esp + 0x1c], 0
and dword [esp + 0x20], 0
test al, al
je 0x71d1f38a
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebx
movzx eax, byte [eax + 0x653b6d8]
push eax
mov dword [esp + 0x24], eax
call fcn.71d20d96
push edi
mov ecx, ebx
call fcn.71d16151
mov al, byte [esp + 0xf]
test al, al
je 0x71d0976d
push dword [esp + 0x20]
mov ecx, ebx
push dword [esp + 0x20]
call fcn.71d20dd0
jmp 0x71d0976d
cmp byte [esp + 0xe], 0
je 0x71d1d25a
call fcn.71d51586
jmp 0x71d1d25a
and dword [esp + 0x14], 0
xor edi, edi
xor esi, esi
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x71d09717
cmp dword [esp + 0x24], 0
je 0x71d1d25a
jmp 0x71d1e1d7
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 0x71d096f6
cmp byte [ebp + 0x10], 0
jne 0x71d097a6
xor edi, edi
and dword [esp + 0x14], edi
jmp 0x71d09714
cmp byte [edi], 0x56
jne 0x71d4b2bb
cmp byte [esp + 0xf], 0
je 0x71d2d975
push edi
mov ecx, ebx
call fcn.71d01f60
push dword [ebp + 0xc]
mov ecx, ebx
push edi
call fcn.71d01aa0
push 0
push dword [esp + 0x14]
mov ecx, ebx
push esi
call fcn.71cfa43b
cmp byte [esp + 0xf], 0
mov ecx, ebx
jne 0x71d1e23c
push edi
jmp 0x71d1eed8
test byte [edi + 0x10], 0x40
je 0x71d4b311
mov al, byte [ecx]
cmp al, 0x22
jne 0x71d30867
test byte [edi + 0x10], 0x40
je 0x71d3086f
mov eax, dword [ecx + 0x14]
cmp eax, dword [edi + 0x14]
jne 0x71d4b31f
mov eax, dword [ecx + 0x18]
cmp eax, dword [edi + 0x18]
jne 0x71d4b31f
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.71d16151
mov eax, dword [esp + 0x14]
mov ecx, ebx
push 0
push dword [esp + 0x14]
mov edi, eax
push eax
call fcn.71cfa43b
push dword [ebp + 0xc]
mov ecx, ebx
push edi
call fcn.71d01aa0
jmp 0x71d1f338
cmp al, 0x2a
je 0x71d1f130
call fcn.71d51586
jmp 0x71d1f13f
cmp al, 0x2a
je 0x71d307a6
call fcn.71d51586
mov ecx, dword [esp + 0x14]
jmp 0x71d307b0
lea eax, [esp + 0x18]
push eax
mov eax, dword [edi + 0xc]
movzx eax, byte [eax + 0x653b6d8]
push eax
call fcn.71d20d96
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 0x653b6d8]
cmp dword [esp + 0x18], eax
je 0x71d4b2cf
push esi
call fcn.71d16151
mov eax, dword [edi + 0xc]
mov ecx, ebx
push dword [esp + 0x18]
movzx eax, byte [eax + 0x653b6d8]
push eax
call fcn.71d20dd0
jmp 0x71d096fe
push esi
push dword [esi + 0xc]
mov ecx, ebx
call fcn.71d36cdf
test al, al
jne 0x71d1eea9
call fcn.71d51586
jmp 0x71d1eea9
push edi
push esi
call fcn.71d1621a
push edx
push eax
mov ecx, ebx
call fcn.71cfa36e
movzx edx, byte [edi + 6]
mov ecx, edx
or ecx, eax
not ecx
and ecx, dword [esp + 0x10]
je 0x71d42187
push 0
push ecx
push esi
mov ecx, ebx
call fcn.71cfa43b
jmp 0x71d1eefb
cmp byte [esp + 0xf], 0
mov eax, esi
jne 0x71d3901c
mov eax, edi
push eax
mov ecx, ebx
jmp 0x71d1eed8
mov edx, eax
mov dword [esp + 0x10], edx
jmp 0x71d1f1f1
test esi, esi
je 0x71d397b7
push dword [ebp + 0xc]
inc al
mov ecx, ebx
push esi
mov byte [esp + 0x17], al
call fcn.71d01aa0
test edi, edi
je 0x71d1f31c
push dword [ebp + 0xc]
mov ecx, ebx
mov byte [esp + 0x12], 1
push edi
call fcn.71d01aa0
jmp 0x71d1f31c
push esi
push esi
push edi
mov ecx, ebx
call fcn.71cfa43b
jmp 0x71d0970c
mov ecx, edx
or ecx, eax
mov eax, 0xcf
not ecx
and ecx, eax
jne 0x71d1e206
mov ecx, edx
not ecx
and ecx, eax
jmp 0x71d1e206
mov ecx, edx
or ecx, eax
mov eax, 0xcf
not ecx
and ecx, eax
jne 0x71d36d3e
mov ecx, edx
not ecx
and ecx, eax
jmp 0x71d36d3e
push dword [ebp + 0x18]
push ecx
push dword [ebp + 0xc]
push esi
call fcn.71d48da6
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
jmp 0x71d097a6
call fcn.71d51586
jmp 0x71d0963b
call fcn.71d51586
mov eax, dword [ebp + 0xc]
jmp 0x71d0964b
and dword [esp + 0x14], 0
xor edi, edi
jmp 0x71d28bfa
call fcn.71d51586
cmp byte [esi], 0x10
je 0x71d1f1bd
mov edx, dword [ebp + 0x14]
jmp 0x71d1f1f1
call fcn.71d51586
jmp 0x71d1e1ad
call fcn.71d51586
jmp 0x71d2d95b
call fcn.71d51586
jmp 0x71d1ee9e
mov eax, dword [edi + 0xc]
push dword [esp + 0x18]
movzx eax, byte [eax + 0x653b6d8]
push eax
call fcn.71d20dd0
jmp 0x71d1e26f
call fcn.71d51586
jmp 0x71d0973b
call fcn.71d51586
jmp 0x71d1e2b0
cmp dword [esp + 0x14], 0
je 0x71d097a6
call fcn.71d51586
jmp 0x71d097a6
call fcn.71d51586
mov ecx, dword [esp + 0x14]
jmp 0x71d3079c
call fcn.71d51586
mov ecx, dword [esp + 0x14]
jmp 0x71d307c8
push 1
push ecx
push esi
mov ecx, ebx
call fcn.71d3156a
jmp 0x71d09781
call fcn.71d51586
jmp 0x71d0978b
mov ecx, ebx
test esi, esi
je 0x71d4b37d
mov eax, dword [esi + 0xc]
movzx esi, byte [eax + 0x653b6d8]
lea eax, [esp + 0x24]
push eax
push esi
call fcn.71d20d96
push 1
push 0
push edi
call fcn.71d3156a
push dword [esp + 0x24]
mov ecx, ebx
push esi
call fcn.71d20dd0
jmp 0x71d1e2d4
push 1
push 0
push edi
call fcn.71d3156a
jmp 0x71d1e2d4
call fcn.71d51586
jmp 0x71d1e2de