Function at 0x1005071a
Capabilities:
Enumerate pe sections

Disassembly:
push eax
call fcn.100e1d28
jmp 0x1005076f
xor edx, edx
jmp 0x1005077d
test ah, 0x50
jne 0x1004fe6b
test cl, 8
jne 0x1004fe6b
test byte [edx + 0x10], al
jne 0x1004fe6b
mov ax, word [edx + 0xa]
inc ax
and ax, si
movzx eax, ax
test ax, ax
je 0x1004fe6b
mov esi, dword [esp + 0x14]
mov eax, esi
dec eax
je 0x1004fe5d
dec eax
je 0x1004fe4f
dec eax
jne 0x10050790
mov esi, 0xf
mov dword [esp + 0x14], esi
jmp 0x10050790
mov esi, 0xe
mov dword [esp + 0x14], esi
jmp 0x10050790
mov esi, 0xd
mov dword [esp + 0x14], esi
jmp 0x10050790
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x50]
mov ecx, 0x100
test word [eax], cx
mov eax, 8
je 0x10050083
mov dword [esi], 6
mov word [esi + 0xa], ax
lea ebp, [eax - 7]
mov eax, dword [esi]
dec eax
mov ebx, 6
mov dword [esp + 0x50], ebx
cmp eax, 0xa
ja case.default.0x1004fea8
jmp dword [eax*4 + 0x100502f4]
mov ecx, 0x1e0
mov edx, 8
jmp 0x1004ffff
mov ecx, 0x210
test byte [esi + 6], 1
mov edx, 8
je 0x1004ffff
movzx eax, word [esi + 8]
mov dword [esp + 0x50], eax
lea ebp, [edx - 6]
jmp 0x1004ffff
movzx edx, word [esi + 6]
mov ecx, 0x270
jmp 0x1004ffff
movzx edx, word [esi + 6]
mov ecx, 0x2a0
jmp 0x1004ffff
mov ecx, 0x3d0
mov edx, 8
jmp 0x1004ffff
mov ecx, 0x240
jmp 0x1004fec3
movzx eax, word [esi + 0xc]
mov edx, 8
mov ecx, 0x2d0
mov dword [esp + 0x50], eax
lea ebp, [edx - 6]
jmp 0x1004ffff
test byte [esi + 6], 1
mov ecx, 0x190
je 0x1004ff42
movzx edx, word [esi + 8]
jmp 0x1004ffff
xor ebp, ebp
jmp 0x1004fffb
lea eax, [esp + 0x50]
push eax
push 0
mov ecx, edi
call fcn.102285f6
movzx eax, word [esi + 6]
mov ebx, dword [esp + 0x50]
mov ecx, dword [edi]
push eax
xor eax, eax
cmp ebx, 5
sete al
add eax, 0x18d
push eax
call fcn.10043eb2
jmp 0x1004ffaf
lea eax, [esp + 0x50]
push eax
push 0
mov ecx, edi
call fcn.102285f6
movzx eax, word [esi + 8]
mov ebx, dword [esp + 0x50]
mov ecx, dword [edi]
push eax
xor eax, eax
cmp ebx, 5
sete al
add eax, 0x406
push eax
call fcn.10043eb2
movzx eax, word [esi + 6]
mov ecx, dword [edi]
push eax
call fcn.10043ef3
cmp ebx, 5
je 0x10050051
cmp ebx, 6
je 0x1004ffe8
jmp 0x1004ffee
movzx eax, word [esi + 6]
mov ecx, dword [edi]
push eax
push 0x3cb
call fcn.10043eb2
movzx eax, word [esi + 8]
mov ecx, dword [edi]
push eax
call fcn.10043ef3
movzx eax, word [esi + 0xa]
mov ecx, dword [edi]
push eax
call fcn.10043ef3
test byte [esi + 4], 4
je 0x10050051
push 0
push 0
push 0
push ebx
jmp 0x1005004a
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x50]
add ecx, 0xb
test bp, bp
jne 0x10050011
push ecx
mov ecx, dword [edi]
call fcn.10044899
jmp 0x1005002b
push edx
push ecx
mov ecx, dword [edi]
call fcn.10043eb2
cmp bp, 2
jne 0x1005002b
push dword [esp + 0x50]
mov ecx, dword [edi]
call fcn.10043ef3
mov eax, dword [esi]
cmp eax, 5
je 0x1005003c
cmp eax, 0xa
je 0x1005003c
cmp eax, 7
jne 0x10050051
test byte [esi + 4], 4
je 0x10050051
push 0
push 0
push 0
push 6
mov ecx, edi
call fcn.10228622
mov ebp, dword [esp + 0x1c]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi], 3
mov eax, dword [edi + 0x14]
mov ax, word [eax + 0x74]
mov word [esi + 6], ax
jmp 0x1005009b
mov dword [esi], 4
mov word [esi + 0xa], ax
mov eax, dword [edi + 4]
mov ax, word [eax + 0x178]
mov word [esi + 0xc], ax
mov edx, dword [esp + 0x18]
cmp edx, dword [ebp + 4]
jbe 0x100500ae
mov dword [esp + 0x48], 0
jmp 0x100500b7
mov ecx, dword [ebp]
add ecx, edx
mov dword [esp + 0x48], ecx
mov eax, dword [esi]
mov ebx, 6
dec eax
mov dword [esp + 0x50], ebx
lea ebp, [ebx - 5]
cmp eax, 0xa
ja case.default.0x100500cf
jmp dword [eax*4 + 0x10050320]
movzx edx, word [esi + 0xa]
mov ecx, 0x1e0
jmp 0x10050226
mov ecx, 0x210
test byte [esi + 6], 1
movzx edx, word [esi + 0xa]
je 0x10050226
movzx eax, word [esi + 8]
mov dword [esp + 0x50], eax
mov ebp, 2
jmp 0x10050226
movzx edx, word [esi + 6]
mov ecx, 0x270
jmp 0x10050226
movzx edx, word [esi + 6]
mov ecx, 0x2a0
jmp 0x10050226
movzx edx, word [esi + 0xa]
mov ecx, 0x3d0
jmp 0x10050226
mov ecx, 0x240
jmp 0x100500e9
movzx eax, word [esi + 0xc]
movzx edx, word [esi + 0xa]
mov ecx, 0x2d0
mov dword [esp + 0x50], eax
mov ebp, 2
jmp 0x10050226
test byte [esi + 6], 1
mov ecx, 0x190
je 0x10050169
movzx edx, word [esi + 8]
jmp 0x10050226
xor ebp, ebp
jmp 0x10050222
lea eax, [esp + 0x50]
push eax
push 0
mov ecx, edi
call fcn.102285f6
movzx eax, word [esi + 6]
mov ebx, dword [esp + 0x50]
mov ecx, dword [edi]
push eax
xor eax, eax
cmp ebx, 5
sete al
add eax, 0x18d
push eax
call fcn.10043eb2
jmp 0x100501d6
lea eax, [esp + 0x50]
push eax
push 0
mov ecx, edi
call fcn.102285f6
movzx eax, word [esi + 8]
mov ebx, dword [esp + 0x50]
mov ecx, dword [edi]
push eax
xor eax, eax
cmp ebx, 5
sete al
add eax, 0x406
push eax
call fcn.10043eb2
movzx eax, word [esi + 6]
mov ecx, dword [edi]
push eax
call fcn.10043ef3
cmp ebx, 5
je 0x10050278
cmp ebx, 6
je 0x1005020f
jmp 0x10050215
movzx eax, word [esi + 6]
mov ecx, dword [edi]
push eax
push 0x3cb
call fcn.10043eb2
movzx eax, word [esi + 8]
mov ecx, dword [edi]
push eax
call fcn.10043ef3
movzx eax, word [esi + 0xa]
mov ecx, dword [edi]
push eax
call fcn.10043ef3
test byte [esi + 4], 4
je 0x10050278
push 0
push 0
push 0
push ebx
jmp 0x10050271
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x50]
add ecx, 0xb
test bp, bp
jne 0x10050238
push ecx
mov ecx, dword [edi]
call fcn.10044899
jmp 0x10050252
push edx
push ecx
mov ecx, dword [edi]
call fcn.10043eb2
cmp bp, 2
jne 0x10050252
push dword [esp + 0x50]
mov ecx, dword [edi]
call fcn.10043ef3
mov eax, dword [esi]
cmp eax, 5
je 0x10050263
cmp eax, 0xa
je 0x10050263
cmp eax, 7
jne 0x10050278
test byte [esi + 4], 4
je 0x10050278
push 0
push 0
push 0
push 6
mov ecx, edi
call fcn.10228622
mov ecx, dword [esp + 0x48]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi], 3
mov ax, word [ecx + 8]
mov word [esi + 6], ax
cmp dword [esp + 0x14], 3
jne 0x100502b1
or word [esi + 4], 5
test byte [ecx + 1], 0x20
jmp 0x10050839
xor ecx, ecx
jmp 0x100507a2
xor eax, eax
test byte [eax + 1], 0x20
jmp 0x10050839
lea eax, [esp + 0x50]
push eax
push ecx
push ebx
mov ebx, dword [esp + 0x24]
push ebx
push ebp
mov ecx, edi
call fcn.10228684
mov esi, dword [esp + 0x50]
jmp 0x10057c3d
xor eax, eax
test byte [eax + 1], 0x20
jmp 0x10050839
sub esp, 0x34
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
push esi
push edi
mov edi, ecx
lea eax, [ebx + 4]
mov ecx, 0xefff
and word [eax], cx
mov ecx, dword [ebx + 0x14]
mov ebp, dword [ecx + 8]
mov dword [esp + 0x48], eax
movsx eax, word [ebx + 2]
mov eax, dword [eax*4 + 0x10043f50]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ebp
call fcn.10046230
mov esi, eax
push esi
lea eax, [esp + 0x18]
push eax
mov ecx, ebp
mov dword [esp + 0x20], esi
call fcn.100480d6
test eax, eax
js 0x1004fdfc
cmp esi, dword [ebp + 4]
ja 0x1004fe07
mov edx, dword [ebp]
add edx, esi
mov cl, byte [edx]
mov esi, 0xfff
test cl, cl
js 0x100589ea
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp eax, dword [ebp + 4]
ja 0x100502ba
mov ecx, dword [ebp]
add ecx, eax
mov al, byte [ecx]
shr al, 6
and al, 1
mov byte [esp + 0x48], al
je 0x10057bb3
mov eax, dword [ecx + 0xc]
add ecx, 0xc
cmp eax, 0xffffffff
je 0x100ac776
cmp byte [esp + 0x48], 0
je 0x10057bca
lea eax, [esi - 1]
cmp eax, 0xe
ja case.0x100507e0.5
movzx eax, byte [eax + 0x10050370]
jmp dword [eax*4 + 0x1005034c]
cmp esi, 3
je 0x10054194
mov al, byte [ecx]
and al, 0x3f
cmp al, 0x1b
je 0x100a24e4
mov eax, dword [ebx]
and eax, 0xffff0000
cmp eax, 0x170000
je 0x100b2d72
mov eax, 1
mov esi, dword [esp + 0x50]
push esi
push eax
push 1
push ebx
mov ecx, edi
call fcn.100506b5
mov edx, dword [esp + 0x18]
cmp edx, dword [ebp + 4]
ja 0x100502c1
mov eax, dword [ebp]
add eax, edx
test byte [eax + 1], 0x20
jne 0x10059d09
mov ebp, dword [esp + 0x10]
cmp ebp, 0xe
je 0x100ac76c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0xc
xor eax, eax
jmp 0x10050813
mov eax, dword [ecx + 0xc]
add ecx, 0xc
and eax, 0xfffffffe
cmp eax, 0xfffffffe
jne 0x100507b9
jmp 0x100ac776
cmp eax, dword [ebp + 4]
ja 0x100ac776
mov ecx, dword [ebp]
add ecx, eax
jmp 0x100507cd
test byte [edx + 1], 0x50
jne 0x10057c08
test byte [edx], 8
jne 0x10057c08
test byte [edx + 0x10], 4
jne 0x10057c08
mov ax, word [edx + 0xa]
inc ax
mov esi, 0xfff
and ax, si
movzx eax, ax
test ax, ax
jne 0x100502cc
test byte [edx], 0x80
jne 0x10058a08
mov ecx, dword [esp + 0x4c]
cmp dword [ecx], 0
je 0x10058a08
mov esi, dword [esp + 0x50]
mov dword [esi], 3
mov ax, word [edx + 8]
push esi
push ecx
mov ecx, edi
mov word [esi + 6], ax
call fcn.100a2afe
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0x14], 0xf
je 0x100589fe
cmp ebx, dword [ebp + 4]
ja 0x100502e9
mov eax, dword [ebp]
add eax, ebx
test byte [eax + 1], 0x20
jmp 0x10050839
xor ecx, ecx
jmp 0x10057bdd
mov ah, byte [edx + 1]
mov al, ah
and al, 7
cmp al, 4
jne 0x1005078c
jmp 0x1004fe0e
or word [esi + 4], 5
jmp 0x10057c48
mov esi, dword [esp + 0x50]
push esi
push ebx
mov ebx, dword [esp + 0x20]
push ebx
push ebp
mov ecx, edi
call fcn.10058a20
jmp 0x10057c3d
test byte [edi + 0xc], 2
mov ebp, dword [esp + 0x10]
jne 0x10050843
or word [esi + 4], 2
jmp 0x10050843
lea eax, [esp + 0x20]
push eax
push dword [ebx + 0x14]
call fcn.1005a558
mov esi, eax
push esi
call fcn.1004c56a
push eax
push esi
call fcn.1004aad7
push eax
call fcn.1004d857
mov ebp, dword [esp + 0x10]
movzx eax, word [eax + ebp*2]
mov esi, dword [esp + 0x50]
shr eax, 0xe
push esi
not eax
push 1
and eax, 1
push eax
push ebx
mov ecx, edi
call fcn.100506b5
jmp 0x10050843
mov al, byte [ecx]
and al, 0x3f
cmp al, 0x1b
je 0x100b0451
mov ecx, 1
jmp 0x10057bdd
test byte [ecx + 1], 8
jne 0x10054194
jmp 0x100507fc
or word [esi + 4], 8
jmp 0x1005084c
xor ecx, ecx
jmp 0x100507cd
mov esi, dword [esp + 0x50]
jmp 0x1005083f
mov esi, dword [esp + 0x50]
push esi
push 0
push 1
push ebx
mov ecx, edi
call fcn.100506b5
jmp 0x1005083f
test byte [ecx + 1], 8
je case.0x100507e0.14
jmp case.0x100507e0.15
push dword [ebx + 8]
call fcn.100b2d35
cmp eax, 0x14
jne 0x1005080e
jmp 0x10054194
mov al, byte [ecx]
mov esi, dword [esp + 0x50]
xor ecx, ecx
and al, 0x3f
cmp al, 0x1b
setne cl
push esi
push ecx
push 0
push ebx
mov ecx, edi
call fcn.100506b5
jmp 0x1005083f
mov esi, dword [esp + 0x50]
push esi
push 0
push 0
push ebx
mov ecx, edi
call fcn.100506b5
jmp 0x1005083f