Function at 0x10063f60
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1016203d
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x101ed004]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x40], ecx
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x24], ebx
test ebx, ebx
je 0x10064701
mov eax, dword [ebp + 0xc]
cmp eax, 4
jle 0x10064701
test esi, esi
je 0x10064701
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x44], 0x7075
mov dword [ebp - 0x48], 0xe57a
mov dword [ebp - 0x4c], 0x9901
mov dword [ebp - 0x50], 0x5455
mov dword [ebp - 0x54], 0x7875
nop dword [eax]
mov ecx, dword [ebp - 0x20]
sub eax, ecx
cmp eax, 4
jb 0x10064701
movzx edi, word [ebx + ecx + 2]
mov edx, edi
cmp eax, edx
jl 0x10064701
movzx ecx, word [ebx + ecx]
cmp ecx, 1
jne 0x1006419b
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
test ecx, ecx
jg case.default.0x100644c5
jl 0x10064023
cmp eax, 0xffffffff
ja case.default.0x100644c5
cmp dword [esi + 0x14], 0
jg case.default.0x100644c5
jl 0x10064039
cmp dword [esi + 0x10], 0xffffffff
ja case.default.0x100644c5
movzx edi, word [esi + 0x92]
mov ecx, dword [ebp - 0x24]
mov ebx, dword [esi + 0x7c]
add ecx, 4
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x20]
add edi, ecx
mov dword [ebp - 0x3c], 0xffffffff
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0x34], 0xffffffff
test ebx, ebx
je 0x1006406f
cmp dword [esi + 0x84], 0xffffffff
jne 0x10064092
cmp edx, 8
jb 0x1006408e
cmp eax, 0xffffffff
jne 0x10064088
test ecx, ecx
jne 0x10064088
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
add edi, 8
sub edx, 8
test ebx, ebx
je 0x1006409b
cmp dword [esi + 0x80], 0xffffffff
jne 0x100640c1
cmp edx, 8
jl 0x100640bd
cmp dword [esi + 0x10], 0xffffffff
jne 0x100640b7
cmp dword [esi + 0x14], 0
jne 0x100640b7
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
add edi, 8
sub edx, 8
test ebx, ebx
je 0x100640ca
cmp dword [esi + 0x88], 0xffffffff
jne 0x100640e4
cmp edx, 8
jl 0x100640e0
mov eax, dword [edi]
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 4]
add edi, 8
mov dword [ebp - 0x34], eax
sub edx, 8
test ebx, ebx
je 0x100640f5
movzx eax, word [esi + 0x92]
mov ecx, 0xffff
cmp ax, cx
jne 0x100640fe
cmp edx, 4
jne 0x100640fe
mov edx, dword [edi]
jmp 0x10064101
mov edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x3c]
mov eax, ebx
mov edi, dword [ebp - 0x34]
and eax, edi
cmp eax, 0xffffffff
je 0x10064151
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x810]
test ecx, ecx
je 0x10064134
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x58]
call eax
add eax, ebx
mov dword [esi + 0x68], eax
adc edx, edi
mov dword [esi + 0x6c], edx
jmp case.default.0x100644c5
xorps xmm0, xmm0
movlpd qword [ebp - 0x38], xmm0
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add eax, ebx
mov dword [esi + 0x68], eax
adc edx, edi
mov dword [esi + 0x6c], edx
jmp case.default.0x100644c5
cmp edx, 0xffff
jle case.default.0x100644c5
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x810]
test ecx, ecx
je 0x10064176
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x58]
call eax
mov edi, eax
jmp 0x10064184
xorps xmm0, xmm0
movlpd qword [ebp - 0x38], xmm0
mov edx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x38]
mov eax, dword [esi + 0x88]
xor ecx, ecx
add eax, edi
mov dword [esi + 0x68], eax
adc ecx, edx
mov dword [esi + 0x6c], ecx
jmp case.default.0x100644c5
cmp ecx, 0xa
jne 0x1006421a
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp edi, 0x20
jb 0x100646df
cmp word [eax + ebx + 0xa], 0x18
jne 0x100646df
add ebx, eax
mov eax, dword [esi + 0x30]
test eax, eax
jne 0x100641d1
push 0x18
call fcn.101427a2
add esp, 4
mov dword [esi + 0x30], eax
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + ecx + 0x14]
mov edi, dword [eax + ecx + 0x18]
mov eax, dword [esi + 0x30]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], edi
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + ecx + 0x1c]
mov edi, dword [eax + ecx + 0x20]
lea ecx, [ebx + 0xc]
mov eax, dword [esi + 0x30]
mov dword [eax + 8], edx
mov dword [eax + 0xc], edi
call fcn.10001c50
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp case.default.0x100644c5
cmp cx, word [ebp - 0x44]
jne 0x10064315
cmp edi, 0xa
jb case.default.0x100644c5
cmp dword [esi + 0x34], 0
movzx eax, word [esi + 0x78]
je 0x1006424d
shr eax, 8
test al, 8
je 0x1006424d
mov dword [esi + 0x98], 1
jmp case.default.0x100644c5
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
xor edi, edi
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], vtable.CArkAutoByte.0
lea eax, [edx - 5]
mov dword [ebp - 4], edi
lea ebx, [eax + 1]
mov dword [ebp - 0x34], eax
cmp ebx, 0x7fffffff
jae 0x100642ee
push 1
push ebx
call fcn.1014bd06
mov edi, eax
mov dword [ebp - 0x14], ebx
add esp, 8
mov dword [ebp - 0x18], edi
test edi, edi
je 0x100642ee
mov eax, dword [ebp - 0x20]
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x24]
add eax, 9
add ecx, eax
push ecx
push edi
call fcn.10146160
mov ebx, dword [ebp - 0x20]
add esp, 0xc
cmp dword [esi + 0x40], 0
je 0x100642f1
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi + 0x94]
cmp eax, dword [ecx + ebx + 5]
jne 0x100642f1
push 0xfde9
push edi
mov ecx, esi
call fcn.10003620
test eax, eax
je 0x100642e2
mov ecx, esi
mov dword [esi + 0x34], 1
call fcn.10003710
mov dword [esi + 0x98], 1
jmp 0x100642f1
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], vtable.CArkAutoPtr_unsigned_char_.0
test edi, edi
je 0x100646dc
push edi
call fcn.10146720
add esp, 4
jmp 0x100646dc
cmp cx, word [ebp - 0x48]
je case.default.0x100644c5
cmp cx, word [ebp - 0x4c]
jne 0x10064374
cmp eax, 0xb
jb 0x10064701
mov eax, dword [ebp - 0x20]
mov al, byte [ebx + eax + 8]
cmp al, 1
jne 0x10064342
mov dword [esi + 0x20], 2
jmp 0x1006435a
cmp al, 2
jne 0x1006434f
mov dword [esi + 0x20], 3
jmp 0x1006435a
cmp al, 3
jne 0x1006435a
mov dword [esi + 0x20], 4
cmp dword [esi + 0x2c], 0x63
jne case.default.0x100644c5
mov eax, dword [ebp - 0x20]
movzx eax, word [ebx + eax + 9]
mov dword [esi + 0x2c], eax
jmp case.default.0x100644c5
cmp ecx, 0x17
jne 0x10064467
cmp dword [esi + 0x20], 0
je 0x100646fa
mov eax, dword [ebp - 0x20]
movzx eax, word [ebx + eax + 6]
cmp eax, 0x660e
ja 0x100643e9
je 0x100643dd
sub eax, 0x6601
cmp eax, 8
ja case.0x100643a6.26116
jmp dword [eax*4 + 0x10064724]
mov dword [esi + 0x20], 0x102
jmp case.default.0x100644c5
mov dword [esi + 0x20], 0x103
jmp case.default.0x100644c5
mov dword [esi + 0x20], 0x104
jmp case.default.0x100644c5
mov dword [esi + 0x20], 0x105
jmp case.default.0x100644c5
mov dword [esi + 0x20], 0x106
jmp case.default.0x100644c5
cmp eax, 0x6720
ja 0x10064435
je 0x10064429
sub eax, 0x660f
je 0x1006441d
sub eax, 1
je 0x10064411
sub eax, 0xf2
jne case.0x100643a6.26116
mov dword [esi + 0x20], 0x109
jmp case.default.0x100644c5
mov dword [esi + 0x20], 0x108
jmp case.default.0x100644c5
mov dword [esi + 0x20], 0x107
jmp case.default.0x100644c5
mov dword [esi + 0x20], 0x10a
jmp case.default.0x100644c5
cmp eax, 0x6721
je 0x1006445b
cmp eax, 0x6801
je 0x1006444f
mov dword [esi + 0x20], 0x10d
jmp case.default.0x100644c5
mov dword [esi + 0x20], 0x10c
jmp case.default.0x100644c5
mov dword [esi + 0x20], 0x10b
jmp case.default.0x100644c5
cmp cx, word [ebp - 0x50]
jne 0x10064564
mov ecx, dword [ebp - 0x20]
sub eax, 4
add ecx, ebx
test eax, eax
jle case.default.0x100644c5
cmp edx, eax
jg case.default.0x100644c5
mov al, byte [ecx + 4]
mov byte [ebp - 0x25], al
cmp edx, 1
jle case.default.0x100644c5
xor eax, eax
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x2c], eax
cmp dword [ebp + 0x14], eax
jne 0x100644b7
cmp edx, 5
jne case.default.0x100644c5
mov edi, dword [ecx + 5]
jmp 0x10064547
movzx eax, byte [ebp - 0x25]
dec eax
cmp eax, 6
ja case.default.0x100644c5
jmp dword [eax*4 + 0x10064748]
cmp edx, 5
jne case.default.0x100644c5
mov edi, dword [ecx + 5]
mov eax, ebx
jmp 0x10064547
cmp edx, 5
jne case.default.0x100644c5
mov eax, dword [ecx + 5]
jmp 0x10064543
cmp edx, 9
jne case.default.0x100644c5
mov edi, dword [ecx + 5]
mov eax, dword [ecx + 9]
jmp 0x10064543
cmp edx, 5
jne case.default.0x100644c5
mov ebx, dword [ecx + 5]
mov eax, edi
jmp 0x1006453f
cmp edx, 9
jne case.default.0x100644c5
mov ebx, dword [ecx + 9]
mov eax, dword [ebp - 0x2c]
jmp 0x1006453c
cmp edx, 9
jne case.default.0x100644c5
mov eax, dword [ecx + 5]
mov ebx, dword [ecx + 9]
jmp 0x1006453f
cmp edx, 0xd
jne case.default.0x100644c5
mov eax, dword [ecx + 9]
mov ebx, dword [ecx + 0xd]
mov edi, dword [ecx + 5]
test ebx, ebx
jne 0x1006454f
test eax, eax
jne 0x1006454f
test edi, edi
je case.default.0x100644c5
push 0
push ebx
push 0
push eax
push 0
push edi
mov ecx, esi
call fcn.1001d5c0
jmp case.default.0x100644c5
cmp cx, word [ebp - 0x54]
jne 0x1006464a
mov ecx, dword [ebp - 0x20]
sub eax, 4
add ecx, ebx
test eax, eax
jle case.default.0x100644c5
cmp edx, eax
jg case.default.0x100644c5
cmp byte [ecx + 4], 1
jne case.default.0x100644c5
mov bh, byte [ecx + 5]
add ecx, 6
sub edx, 2
js 0x10064701
movzx eax, bh
mov edi, ecx
add ecx, eax
sub edx, eax
js 0x10064701
sub edx, 1
mov bl, byte [ecx]
js 0x10064701
movzx eax, bl
sub edx, eax
js 0x10064701
cmp bh, 4
jne case.default.0x100644c5
cmp bl, bh
jne case.default.0x100644c5
mov ebx, dword [edi]
mov edi, dword [ecx + 1]
cmp ebx, 0xffffffff
jne 0x100645e7
cmp edi, ebx
je case.default.0x100644c5
mov eax, dword [esi + 0x38]
test eax, eax
jne 0x1006463c
push 0x28
call fcn.101427a2
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0x1c], 0xffffffff
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x20], 0
mov dword [esi + 0x38], eax
mov dword [eax + 0x18], ebx
mov eax, dword [esi + 0x38]
mov dword [eax + 0x1c], edi
jmp case.default.0x100644c5
mov eax, 0x5855
cmp cx, ax
jne 0x100646b0
cmp dword [ebp + 0x14], 0
je 0x1006468f
cmp edi, 0xc
jne 0x10064701
mov edi, dword [ebp - 0x20]
mov ecx, esi
push 0
push 0
push 0
push dword [ebx + edi + 4]
push 0
push dword [ebx + edi + 8]
call fcn.1001d5c0
mov eax, dword [ebp - 0x20]
movsx edi, word [ebx + edi + 0xe]
movsx ebx, word [ebx + eax + 0xc]
jmp 0x100645e7
cmp edi, 8
jne 0x10064701
mov eax, dword [ebp - 0x20]
mov ecx, esi
push 0
push 0
push 0
push dword [ebx + eax + 4]
push 0
push dword [ebx + eax + 8]
call fcn.1001d5c0
jmp case.default.0x100644c5
cmp ecx, 0x64
jne case.default.0x100644c5
cmp edi, 8
jne case.default.0x100644c5
mov eax, dword [ebp - 0x20]
movzx ecx, word [ebx + eax + 6]
movzx eax, word [ebx + eax + 4]
add dword [esi + 0x10], 0
cdq
adc dword [esi + 0x14], eax
mov eax, ecx
add dword [esi + 0x18], 0
cdq
adc dword [esi + 0x1c], eax
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + ebx + 2]
add eax, 4
add ebx, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], ebx
cmp eax, ebx
mov ebx, dword [ebp - 0x24]
jg 0x10063fe0
mov eax, 1
jmp 0x10064703
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10142783
mov esp, ebp
pop ebp
ret 0x10