Function at 0x10006390
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10077aa1
mov eax, dword fs:[0]
push eax
sub esp, 0x478
mov eax, dword [0x100a5688]
xor eax, esp
mov dword [esp + 0x470], eax
push ebx
push esi
push edi
mov eax, dword [0x100a5688]
xor eax, esp
push eax
lea eax, [esp + 0x488]
mov dword fs:[0], eax
mov dword [esp + 0x40], ecx
xor ebx, ebx
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
xor edx, edx
mov dword [esp + 0x490], ecx
mov dword [esp + 0x1c], edx
mov byte [esp + 0x1b], dl
lea eax, [esp + 0x1b]
cmp eax, edi
jae 0x10006464
cmp ebx, eax
ja 0x10006464
mov esi, eax
sub esi, ebx
cmp edi, ecx
jne 0x10006459
mov eax, ecx
sub eax, edi
cmp eax, 1
jae 0x10006459
mov eax, ebx
sub eax, edi
dec eax
cmp eax, 1
jb 0x10006520
sub ecx, ebx
mov edx, ecx
shr edx, 1
or eax, 0xffffffff
sub edi, ebx
sub eax, edx
inc edi
cmp eax, ecx
jae 0x10006438
xor ecx, ecx
jmp 0x1000643a
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [esp + 0x24]
call fcn.10006a20
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
test edi, edi
je 0x100064bd
mov al, byte [ebx + esi]
mov byte [edi], al
jmp 0x100064bd
cmp edi, ecx
jne 0x100064b6
mov eax, ecx
sub eax, edi
cmp eax, 1
jae 0x100064b6
mov eax, ebx
sub eax, edi
dec eax
cmp eax, 1
jb 0x10006520
sub ecx, ebx
mov edx, ecx
shr edx, 1
or eax, 0xffffffff
sub edi, ebx
sub eax, edx
inc edi
cmp eax, ecx
jae 0x10006495
xor ecx, ecx
jmp 0x10006497
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [esp + 0x24]
call fcn.10006a20
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
test edi, edi
je 0x100064bd
mov byte [edi], 0
inc edx
inc edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], edx
cmp edx, 0x10
jl 0x100063f7
mov edx, dword [ebp + 8]
mov al, byte [edx]
mov byte [esp + 0x17], al
test al, al
je 0x100065c2
lea esi, [esp + 0x1a]
mov byte [esp + 0x1a], al
cmp esi, edi
jae 0x10006553
cmp ebx, esi
ja 0x10006553
sub esi, ebx
cmp edi, ecx
jne 0x1000654a
mov eax, ecx
sub eax, edi
cmp eax, 1
jae 0x1000654a
mov eax, ebx
sub eax, edi
dec eax
cmp eax, 1
jb 0x10006520
sub ecx, ebx
mov edx, ecx
shr edx, 1
or eax, 0xffffffff
sub edi, ebx
sub eax, edx
inc edi
cmp eax, ecx
jae 0x1000652a
xor ecx, ecx
jmp 0x1000652c
push str.vector_T__too_long
call fcn.1005610c
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [esp + 0x24]
call fcn.10006a20
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov edx, dword [ebp + 8]
test edi, edi
je 0x100065aa
mov al, byte [esi + ebx]
jmp 0x100065a8
cmp edi, ecx
jne 0x100065a4
mov eax, ecx
sub eax, edi
cmp eax, 1
jae 0x100065a0
mov eax, ebx
sub eax, edi
dec eax
cmp eax, 1
jb 0x10006520
sub ecx, ebx
mov edx, ecx
shr edx, 1
or eax, 0xffffffff
sub edi, ebx
sub eax, edx
inc edi
cmp eax, ecx
jae 0x10006580
xor ecx, ecx
jmp 0x10006582
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [esp + 0x24]
call fcn.10006a20
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov edx, dword [ebp + 8]
mov al, byte [esp + 0x17]
test edi, edi
je 0x100065aa
mov byte [edi], al
mov al, byte [edx + 1]
inc edx
inc edi
mov dword [esp + 0x24], edi
mov dword [ebp + 8], edx
mov byte [esp + 0x17], al
test al, al
jne 0x100064e1
xor edx, edx
mov dword [esp + 0x1c], edx
mov byte [esp + 0x18], dl
lea esp, [esp]
lea eax, [esp + 0x18]
cmp eax, edi
jae 0x1000663d
cmp ebx, eax
ja 0x1000663d
mov esi, eax
sub esi, ebx
cmp edi, ecx
jne 0x10006632
mov eax, ecx
sub eax, edi
cmp eax, 1
jae 0x10006632
mov eax, ebx
sub eax, edi
dec eax
cmp eax, 1
jb 0x10006520
sub ecx, ebx
mov edx, ecx
shr edx, 1
or eax, 0xffffffff
sub edi, ebx
sub eax, edx
inc edi
cmp eax, ecx
jae 0x10006611
xor ecx, ecx
jmp 0x10006613
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [esp + 0x24]
call fcn.10006a20
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
test edi, edi
je 0x10006696
mov al, byte [esi + ebx]
mov byte [edi], al
jmp 0x10006696
cmp edi, ecx
jne 0x1000668f
mov eax, ecx
sub eax, edi
cmp eax, 1
jae 0x1000668f
mov eax, ebx
sub eax, edi
dec eax
cmp eax, 1
jb 0x10006520
sub ecx, ebx
mov edx, ecx
shr edx, 1
or eax, 0xffffffff
sub edi, ebx
sub eax, edx
inc edi
cmp eax, ecx
jae 0x1000666e
xor ecx, ecx
jmp 0x10006670
add ecx, edx
cmp ecx, edi
cmovb ecx, edi
push ecx
lea ecx, [esp + 0x24]
call fcn.10006a20
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
test edi, edi
je 0x10006696
mov byte [edi], 0
inc edx
inc edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], edx
cmp edx, 0x10
jl 0x100065d0
mov eax, edi
sub eax, ebx
cdq
and edx, 0xf
lea esi, [edx + eax]
and esi, 0xfffffff0
add esi, ebx
cmp esi, ebx
jne 0x100066c1
mov edi, ebx
jmp 0x100066d3
cmp esi, edi
je 0x100066d7
push 0
push edi
push esi
call fcn.100597a0
add esp, 0xc
mov edi, esi
mov dword [esp + 0x24], edi
xor esi, esi
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x75], 0x44454445
mov dword [esp + 0x6f], 0x46314238
mov dword [esp + 0x6a], 0x44424433
mov dword [esp + 0x66], 0x39313537
mov dword [esp + 0x5d], 0x33463746
mov dword [esp + 0x61], 0x36434142
mov byte [esp + 0x5c], 0x33
mov word [esp + 0x73], 0x3134
mov byte [esp + 0x6e], 0x32
mov byte [esp + 0x79], 0
mov byte [esp + 0x65], 0x36
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
xor eax, eax
mov byte [esp + 0x490], 1
mov dword [esp + 0x1c], eax
mov bl, byte [esp + eax + 0x5c]
mov byte [esp + 0x17], bl
mov byte [esp + 0x19], bl
lea ebx, [esp + 0x19]
cmp ebx, ecx
mov ebx, dword [esp + 0x20]
jae 0x100067d1
lea ebx, [esp + 0x19]
cmp esi, ebx
mov ebx, dword [esp + 0x20]
ja 0x100067d1
lea eax, [esp + 0x19]
sub eax, esi
mov dword [esp + 0x2c], eax
cmp ecx, edx
jne 0x100067c2
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x100067be
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x10006520
sub ecx, esi
sub edx, esi
mov esi, edx
shr esi, 1
or eax, 0xffffffff
sub eax, esi
inc ecx
cmp eax, edx
jae 0x100067a1
xor edx, edx
jmp 0x100067a3
add edx, esi
cmp edx, ecx
cmovb edx, ecx
push edx
lea ecx, [esp + 0x34]
call fcn.10006a20
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
test ecx, ecx
je 0x100067cb
mov al, byte [esi + eax]
mov byte [ecx], al
mov eax, dword [esp + 0x1c]
jmp 0x10006831
cmp ecx, edx
jne 0x10006823
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x1000681f
mov eax, esi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x10006520
sub ecx, esi
sub edx, esi
mov esi, edx
shr esi, 1
or eax, 0xffffffff
sub eax, esi
inc ecx
cmp eax, edx
jae 0x10006802
xor edx, edx
jmp 0x10006804
add edx, esi
cmp edx, ecx
cmovb edx, ecx
push edx
lea ecx, [esp + 0x34]
call fcn.10006a20
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
test ecx, ecx
je 0x10006831
mov bl, byte [esp + 0x17]
mov byte [ecx], bl
mov ebx, dword [esp + 0x20]
inc eax
inc ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], eax
cmp eax, 0x1d
jl 0x10006742
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x24]
push eax
push esi
lea eax, [esp + 0x4c]
push eax
sub ecx, esi
sub edi, ebx
push ebx
mov dword [esp + 0x44], 0x400
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], edi
call fcn.100061b0
push dword [esp + 0x2c]
lea edx, [esp + 0x80]
lea ecx, [esp + 0x48]
call fcn.10005e90
add esp, 4
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x44]
mov byte [esp + 0x490], 2
cmp eax, ecx
je 0x100068ad
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.10005590
cmp dword [esp + 0x58], 0x10
jb 0x100068c0
push dword [esp + 0x44]
call fcn.10056c81
add esp, 4
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], 0
mov byte [esp + 0x44], 0
test esi, esi
je 0x100068e2
push esi
call fcn.10056c81
add esp, 4
test ebx, ebx
je 0x100068ef
push ebx
call fcn.10056c81
add esp, 4
mov ecx, dword [esp + 0x488]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x470]
xor ecx, esp
call fcn.1005ae75
mov esp, ebp
pop ebp
ret 4