Function at 0x10002570
Capabilities:
Access peb ldr_data
Encode data using xor
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x848
lea ebx, [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x10015660
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x60], eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x40], 0xab
mov dword [ebp - 0x3c], 0xc
movsd xmm0, qword [0x100170c0]
movsd qword [ebp - 0x38], xmm0
mov dword [ebp - 0x30], 0xabc7c7cf
xor edi, edi
lea esi, [ebp - 0x40]
nop word cs:[eax + eax]
movsx eax, byte [ebp + edi - 0x38]
mov ecx, esi
push eax
call fcn.1000afe0
mov byte [ebp + edi - 0x38], al
inc edi
cmp edi, dword [ebp - 0x3c]
jb 0x100025f0
lea eax, [ebx + 4]
mov dword [ebp - 0x64], eax
movaps xmm0, xmmword [0x100170d0]
movups xmmword [ebp - 0x854], xmm0
movaps xmm0, xmmword [0x100170e0]
movups xmmword [ebp - 0x844], xmm0
xor edi, edi
lea esi, [ebp - 0x854]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x10002640
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov ecx, dword [ebp - 0x48]
mov edi, dword [eax + ecx]
movaps xmm0, xmmword [0x100170f0]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x6573b858
xor ebx, ebx
lea esi, [ebp - 0x854]
nop word [eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + ebx*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x848], eax
inc ebx
cmp ebx, dword [ebp - 0x850]
jb 0x100026a0
add edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov ebx, dword [eax + edi]
movaps xmm0, xmmword [0x10017100]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x7580be35
mov dword [ebp - 0x840], 0x7ada6ad4
xor edi, edi
lea esi, [ebp - 0x854]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x10002710
add ebx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov dword [ebp - 0x44], ebx
mov eax, dword [eax + ebx]
mov dword [ebp - 0x54], eax
movaps xmm0, xmmword [0x10017110]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x458dc411
mov dword [ebp - 0x840], 0x4ae770b0
mov dword [ebp - 0x83c], 0x50411d4f
xor edi, edi
lea esi, [ebp - 0x854]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x10002790
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov ecx, dword [ebp - 0x44]
mov ebx, dword [eax + ecx]
movaps xmm0, xmmword [0x10017120]
movups xmmword [ebp - 0x854], xmm0
movaps xmm0, xmmword [0x10017130]
movups xmmword [ebp - 0x844], xmm0
xor edi, edi
lea esi, [ebp - 0x854]
nop dword [eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x100027f0
xor ecx, ecx
mov edi, dword [ebp - 0x48]
add dword [ebp - 0x54], edi
je 0x10002990
add ebx, edi
je 0x10002990
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov edx, dword [ebp - 0x44]
mov eax, dword [eax + edx]
add eax, edi
je 0x10002990
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x50], ebx
xor ebx, ebx
jmp 0x10002862
cmp eax, 0xeb4619fd
mov edi, dword [ebp - 0x48]
je 0x10002977
mov ebx, dword [ebp - 0x20]
inc ebx
lea ecx, [ebp - 0x854]
movaps xmm0, xmmword [0x10017140]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x65a7cfcb
xor esi, esi
nop word cs:[eax + eax]
push dword [ebp - 0x854]
push dword [ebp + esi*4 - 0x848]
call fcn.10008fc0
lea ecx, [ebp - 0x854]
mov dword [ebp + esi*4 - 0x848], eax
inc esi
cmp esi, dword [ebp - 0x850]
jb 0x10002890
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov ecx, dword [ebp - 0x44]
cmp ebx, dword [eax + ecx]
jae 0x10002973
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], ebx
mov ebx, dword [eax + ebx*4]
add ebx, edi
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xffffffff
je 0x1000285e
lea ecx, [eax + 1]
mov edx, ecx
and edx, 3
mov dword [ebp - 0x4c], edx
cmp eax, 3
jae 0x10002910
mov eax, 0x1d
xor edx, edx
jmp 0x1000294e
and ecx, 0xfffffffc
lea esi, [ebx + 3]
mov eax, 0x1d
xor edx, edx
nop dword [eax]
movsx edi, byte [esi + edx - 3]
xor edi, eax
lea eax, [edi + edi*4]
movsx edi, byte [esi + edx - 2]
xor edi, eax
lea eax, [edi + edi*4]
movsx edi, byte [esi + edx - 1]
xor edi, eax
lea eax, [edi + edi*4]
movsx edi, byte [esi + edx]
xor edi, eax
lea eax, [edi + edi*4]
add edx, 4
cmp ecx, edx
jne 0x10002920
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x10002850
add ebx, edx
xor ecx, ecx
nop dword [eax]
movsx edx, byte [ebx + ecx]
xor edx, eax
lea eax, [edx + edx*4]
inc ecx
cmp esi, ecx
jne 0x10002960
jmp 0x10002850
xor ecx, ecx
jmp 0x10002990
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x20]
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x50]
add edi, dword [ecx + eax*4]
mov dword [ebp - 0x10], 0
mov ecx, edi
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x38]
push eax
call ecx
mov ebx, eax
mov byte [ebp - 0x40], 0x56
mov dword [ebp - 0x3c], 0xc
movsd xmm0, qword [0x10017150]
movsd qword [ebp - 0x38], xmm0
mov dword [ebp - 0x30], 0x56667863
xor edi, edi
lea esi, [ebp - 0x40]
nop word cs:[eax + eax]
movsx eax, byte [ebp + edi - 0x38]
mov ecx, esi
push eax
call fcn.1000afe0
mov byte [ebp + edi - 0x38], al
inc edi
cmp edi, dword [ebp - 0x3c]
jb 0x100029d0
movaps xmm0, xmmword [0x100170d0]
movups xmmword [ebp - 0x854], xmm0
movaps xmm0, xmmword [0x100170e0]
movups xmmword [ebp - 0x844], xmm0
xor edi, edi
lea esi, [ebp - 0x854]
nop dword [eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x10002a10
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov dword [ebp - 0x20], ebx
mov edi, dword [eax + ebx]
movaps xmm0, xmmword [0x100170f0]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x6573b858
xor ebx, ebx
lea esi, [ebp - 0x854]
nop word [eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + ebx*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x848], eax
inc ebx
cmp ebx, dword [ebp - 0x850]
jb 0x10002a70
mov ebx, dword [ebp - 0x20]
add edi, ebx
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov eax, dword [eax + edi]
mov dword [ebp - 0x4c], eax
movaps xmm0, xmmword [0x10017100]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x7580be35
mov dword [ebp - 0x840], 0x7ada6ad4
xor edi, edi
lea esi, [ebp - 0x854]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x10002ae0
mov ecx, dword [ebp - 0x4c]
add ecx, ebx
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov dword [ebp - 0x4c], ecx
mov eax, dword [eax + ecx]
mov dword [ebp - 0x48], eax
movaps xmm0, xmmword [0x10017110]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x458dc411
mov dword [ebp - 0x840], 0x4ae770b0
mov dword [ebp - 0x83c], 0x50411d4f
xor edi, edi
lea esi, [ebp - 0x854]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x10002b60
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x50], eax
movaps xmm0, xmmword [0x10017120]
movups xmmword [ebp - 0x854], xmm0
movaps xmm0, xmmword [0x10017130]
movups xmmword [ebp - 0x844], xmm0
xor edi, edi
lea esi, [ebp - 0x854]
nop
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x10002bc0
xor ecx, ecx
add dword [ebp - 0x48], ebx
je 0x10002d60
mov esi, dword [ebp - 0x50]
add esi, ebx
je 0x10002d60
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov edx, dword [ebp - 0x4c]
mov eax, dword [eax + edx]
add eax, ebx
je 0x10002d60
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x50], esi
xor edi, edi
jmp 0x10002c32
cmp eax, 0xdc57540f
mov ebx, dword [ebp - 0x20]
je 0x10002d47
mov edi, dword [ebp - 0x44]
inc edi
lea ecx, [ebp - 0x854]
movaps xmm0, xmmword [0x10017140]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x65a7cfcb
xor esi, esi
nop word cs:[eax + eax]
push dword [ebp - 0x854]
push dword [ebp + esi*4 - 0x848]
call fcn.10008fc0
lea ecx, [ebp - 0x854]
mov dword [ebp + esi*4 - 0x848], eax
inc esi
cmp esi, dword [ebp - 0x850]
jb 0x10002c60
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov ecx, dword [ebp - 0x4c]
cmp edi, dword [eax + ecx]
jae 0x10002d43
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x44], edi
mov edi, dword [eax + edi*4]
add edi, ebx
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xffffffff
je 0x10002c2e
lea ecx, [eax + 1]
mov edx, ecx
and edx, 3
mov dword [ebp - 0x54], edx
cmp eax, 3
jae 0x10002ce0
mov eax, 0x1d
xor edx, edx
jmp 0x10002d1e
and ecx, 0xfffffffc
lea esi, [edi + 3]
mov eax, 0x1d
xor edx, edx
nop dword [eax]
movsx ebx, byte [esi + edx - 3]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 2]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 1]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx]
xor ebx, eax
lea eax, [ebx + ebx*4]
add edx, 4
cmp ecx, edx
jne 0x10002cf0
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x10002c20
add edi, edx
xor ecx, ecx
nop dword [eax]
movsx edx, byte [edi + ecx]
xor edx, eax
lea eax, [edx + edx*4]
inc ecx
cmp esi, ecx
jne 0x10002d30
jmp 0x10002c20
xor ecx, ecx
jmp 0x10002d60
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x44]
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + eax*4]
add ecx, ebx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x10], 0
sub esp, 0x14
movaps xmm0, xmmword [0x10017160]
movups xmmword [esp + 4], xmm0
lea eax, [ebp - 0x38]
mov dword [esp], eax
call ecx
test eax, eax
lea edi, [ebp + 8]
je 0x10003103
mov dword [ebp - 0x5c], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x50], eax
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x4c], eax
movaps xmm0, xmmword [0x100170d0]
movups xmmword [ebp - 0x854], xmm0
movaps xmm0, xmmword [0x100170e0]
movups xmmword [ebp - 0x844], xmm0
xor ebx, ebx
lea esi, [ebp - 0x854]
nop dword [eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + ebx*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x848], eax
inc ebx
cmp ebx, dword [ebp - 0x850]
jb 0x10002dc0
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov ecx, dword [ebp - 0x20]
mov ebx, dword [eax + ecx]
movaps xmm0, xmmword [0x100170f0]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x6573b858
xor edi, edi
lea esi, [ebp - 0x854]
nop word [eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x10002e20
add ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov eax, dword [eax + ebx]
mov dword [ebp - 0x44], eax
movaps xmm0, xmmword [0x10017100]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x7580be35
mov dword [ebp - 0x840], 0x7ada6ad4
xor edi, edi
lea esi, [ebp - 0x854]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x10002e90
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x44]
add ecx, ebx
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov dword [ebp - 0x44], ecx
mov eax, dword [eax + ecx]
mov dword [ebp - 0x48], eax
movaps xmm0, xmmword [0x10017110]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x458dc411
mov dword [ebp - 0x840], 0x4ae770b0
mov dword [ebp - 0x83c], 0x50411d4f
xor edi, edi
lea esi, [ebp - 0x854]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x10002f10
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov ecx, dword [ebp - 0x44]
mov edi, dword [eax + ecx]
movaps xmm0, xmmword [0x10017120]
movups xmmword [ebp - 0x854], xmm0
movaps xmm0, xmmword [0x10017130]
movups xmmword [ebp - 0x844], xmm0
xor esi, esi
lea ecx, [ebp - 0x854]
nop dword [eax + eax]
push dword [ebp - 0x854]
push dword [ebp + esi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + esi*4 - 0x848], eax
lea ecx, [ebp - 0x854]
inc esi
cmp esi, dword [ebp - 0x850]
jb 0x10002f70
cmp dword [ebp - 0x4c], 0x10
mov edx, dword [ebp - 0x50]
cmovb edx, dword [ebp - 0x64]
xor ecx, ecx
add dword [ebp - 0x48], ebx
je 0x1000313d
add edi, ebx
je 0x1000313d
mov dword [ebp - 0x58], edi
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov esi, dword [ebp - 0x44]
mov eax, dword [eax + esi]
add eax, ebx
je 0x1000313d
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x50], edx
xor edi, edi
jmp 0x10002ff2
cmp eax, 0x96a4fae0
mov edi, dword [ebp - 0x4c]
je 0x10003123
inc edi
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x854]
movaps xmm0, xmmword [0x10017140]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x65a7cfcb
xor esi, esi
nop word cs:[eax + eax]
push dword [ebp - 0x854]
push dword [ebp + esi*4 - 0x848]
call fcn.10008fc0
lea ecx, [ebp - 0x854]
mov dword [ebp + esi*4 - 0x848], eax
inc esi
cmp esi, dword [ebp - 0x850]
jb 0x10003020
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov ecx, dword [ebp - 0x44]
cmp edi, dword [eax + ecx]
jae 0x1000311f
mov eax, ebx
mov ecx, dword [ebp - 0x48]
mov ebx, dword [ecx + edi*4]
add ebx, eax
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xffffffff
je 0x10002fee
mov dword [ebp - 0x4c], edi
lea ecx, [eax + 1]
mov edx, ecx
and edx, 3
mov dword [ebp - 0x54], edx
cmp eax, 3
jae 0x100030a0
mov eax, 0x1d
xor edx, edx
jmp 0x100030de
and ecx, 0xfffffffc
lea esi, [ebx + 3]
mov eax, 0x1d
xor edx, edx
nop dword [eax]
movsx edi, byte [esi + edx - 3]
xor edi, eax
lea eax, [edi + edi*4]
movsx edi, byte [esi + edx - 2]
xor edi, eax
lea eax, [edi + edi*4]
movsx edi, byte [esi + edx - 1]
xor edi, eax
lea eax, [edi + edi*4]
movsx edi, byte [esi + edx]
xor edi, eax
lea eax, [edi + edi*4]
add edx, 4
cmp ecx, edx
jne 0x100030b0
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x10002fe0
add ebx, edx
xor ecx, ecx
nop dword [eax]
movsx edx, byte [ebx + ecx]
xor edx, eax
lea eax, [edx + edx*4]
inc ecx
cmp esi, ecx
jne 0x100030f0
jmp 0x10002fe0
xorps xmm0, xmm0
mov eax, dword [ebp - 0x60]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
jmp 0x100042d3
xor ecx, ecx
jmp 0x1000313a
mov eax, dword [ebp - 0x68]
movzx eax, word [eax + edi*2]
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x10], 0
sub esp, 0x18
movaps xmm0, xmmword [0x10017170]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call ecx
mov ebx, dword [ebp - 0x20]
test eax, eax
je 0x10003a31
mov dword [ebp - 0x58], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
lea ebx, [ebp - 0x40]
jmp 0x100031b4
add ecx, edi
push eax
lea eax, [ebp - 0x854]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
cmp dword [ebp - 0x6c], 0
lea ebx, [ebp - 0x40]
je 0x10003510
movaps xmm0, xmmword [0x100170d0]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x100170e0]
movups xmmword [ebp - 0x30], xmm0
xor esi, esi
nop dword [eax]
mov ecx, ebx
push dword [ebp - 0x40]
push dword [ebp + esi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + esi*4 - 0x34], eax
inc esi
cmp esi, dword [ebp - 0x3c]
jb 0x100031d0
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov ecx, dword [ebp - 0x20]
mov esi, dword [eax + ecx]
movaps xmm0, xmmword [0x100170f0]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x6573b858
xor edi, edi
nop dword [eax]
mov ecx, ebx
push dword [ebp - 0x40]
push dword [ebp + edi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x34], eax
inc edi
cmp edi, dword [ebp - 0x3c]
jb 0x10003210
add esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + esi]
mov dword [ebp - 0x4c], eax
movaps xmm0, xmmword [0x10017100]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x7580be35
mov dword [ebp - 0x2c], 0x7ada6ad4
xor esi, esi
mov edi, ebx
nop word cs:[eax + eax]
mov ecx, edi
push dword [ebp - 0x40]
push dword [ebp + esi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + esi*4 - 0x34], eax
inc esi
cmp esi, dword [ebp - 0x3c]
jb 0x10003260
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x4c]
add ecx, ebx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov dword [ebp - 0x4c], ecx
mov eax, dword [eax + ecx]
mov dword [ebp - 0x48], eax
movaps xmm0, xmmword [0x10017110]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x458dc411
mov dword [ebp - 0x2c], 0x4ae770b0
mov dword [ebp - 0x28], 0x50411d4f
xor esi, esi
nop word cs:[eax + eax]
mov ecx, edi
push dword [ebp - 0x40]
push dword [ebp + esi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + esi*4 - 0x34], eax
inc esi
cmp esi, dword [ebp - 0x3c]
jb 0x100032c0
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x50], eax
movaps xmm0, xmmword [0x10017120]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x10017130]
movups xmmword [ebp - 0x30], xmm0
xor esi, esi
mov ecx, edi
push dword [ebp - 0x40]
push dword [ebp + esi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + esi*4 - 0x34], eax
inc esi
cmp esi, dword [ebp - 0x3c]
jb 0x10003300
xor ecx, ecx
add dword [ebp - 0x48], ebx
je 0x10003480
mov eax, dword [ebp - 0x50]
add eax, ebx
je 0x10003480
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov edx, dword [ebp - 0x4c]
mov eax, dword [eax + edx]
add eax, ebx
je 0x10003480
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x44], 0
jmp 0x10003375
cmp eax, 0x9394cea2
mov esi, dword [ebp - 0x44]
je 0x10003464
inc esi
mov dword [ebp - 0x44], esi
lea edi, [ebp - 0x40]
movaps xmm0, xmmword [0x10017140]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x65a7cfcb
xor esi, esi
nop dword [eax]
mov ecx, edi
push dword [ebp - 0x40]
push dword [ebp + esi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + esi*4 - 0x34], eax
inc esi
cmp esi, dword [ebp - 0x3c]
jb 0x10003390
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x44]
cmp esi, dword [eax + ecx]
jae 0x10003460
mov eax, dword [ebp - 0x48]
mov edi, dword [eax + esi*4]
add edi, ebx
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xffffffff
je 0x1000336e
lea ecx, [eax + 1]
mov edx, ecx
and edx, 3
mov dword [ebp - 0x54], edx
cmp eax, 3
jae 0x100033f0
mov eax, 0x1d
xor edx, edx
jmp 0x1000342e
and ecx, 0xfffffffc
lea ebx, [edi + 3]
mov eax, 0x1d
xor edx, edx
nop dword [eax]
movsx esi, byte [ebx + edx - 3]
xor esi, eax
lea eax, [esi + esi*4]
movsx esi, byte [ebx + edx - 2]
xor esi, eax
lea eax, [esi + esi*4]
movsx esi, byte [ebx + edx - 1]
xor esi, eax
lea eax, [esi + esi*4]
movsx esi, byte [ebx + edx]
xor esi, eax
lea eax, [esi + esi*4]
add edx, 4
cmp ecx, edx
jne 0x10003400
mov esi, dword [ebp - 0x54]
test esi, esi
mov ebx, dword [ebp - 0x20]
je 0x10003360
add edi, edx
xor ecx, ecx
movsx edx, byte [edi + ecx]
xor edx, eax
lea eax, [edx + edx*4]
inc ecx
cmp esi, ecx
jne 0x10003440
jmp 0x10003360
xor ecx, ecx
jmp 0x10003480
mov eax, dword [ebp - 0x68]
movzx eax, word [eax + esi*2]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + eax*4]
add ecx, ebx
mov dword [ebp - 0x10], 1
nop word [eax + eax]
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x6c]
push eax
push 0x7d0
lea eax, [ebp - 0x854]
push eax
push dword [ebp - 0x58]
call ecx
test al, al
je 0x10003d81
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x10003510
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov esi, edx
sub esi, ecx
cmp esi, eax
jae 0x100034f0
sub esp, 0x10
movzx ecx, byte [ebp - 0x40]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
lea ecx, [ebp - 0x854]
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [ebp - 0x84]
call fcn.10008ff0
jmp 0x100031a7
lea esi, [ecx + eax]
mov dword [ebp - 0x74], esi
lea edi, [ebp - 0x84]
cmp edx, 0x10
jb 0x10003190
mov edi, dword [ebp - 0x84]
jmp 0x10003190
movaps xmm0, xmmword [0x100170d0]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x100170e0]
movups xmmword [ebp - 0x30], xmm0
xor edi, edi
lea esi, [ebp - 0x40]
nop dword [eax + eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + edi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x34], eax
inc edi
cmp edi, dword [ebp - 0x3c]
jb 0x10003530
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov ecx, dword [ebp - 0x20]
mov edi, dword [eax + ecx]
movaps xmm0, xmmword [0x100170f0]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x6573b858
xor ebx, ebx
lea esi, [ebp - 0x40]
nop dword [eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10003570
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov edi, dword [eax + edi]
movaps xmm0, xmmword [0x10017100]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x7580be35
mov dword [ebp - 0x2c], 0x7ada6ad4
xor ebx, ebx
lea esi, [ebp - 0x40]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x100035c0
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
mov dword [ebp - 0x54], eax
movaps xmm0, xmmword [0x10017110]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x458dc411
mov dword [ebp - 0x2c], 0x4ae770b0
mov dword [ebp - 0x28], 0x50411d4f
xor ebx, ebx
lea esi, [ebp - 0x40]
nop dword [eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10003610
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
mov dword [ebp - 0x48], eax
movaps xmm0, xmmword [0x10017120]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x10017130]
movups xmmword [ebp - 0x30], xmm0
xor ebx, ebx
lea esi, [ebp - 0x40]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10003650
mov ebx, dword [ebp - 0x20]
add dword [ebp - 0x54], ebx
add dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
add eax, ebx
mov dword [ebp - 0x50], eax
xor edi, edi
jmp 0x1000369f
cmp eax, 0x2b132ea
je 0x10003773
mov edi, dword [ebp - 0x44]
inc edi
movaps xmm0, xmmword [0x10017140]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x65a7cfcb
xor esi, esi
lea ebx, [ebp - 0x40]
nop word cs:[eax + eax]
mov ecx, ebx
push dword [ebp - 0x40]
push dword [ebp + esi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + esi*4 - 0x34], eax
inc esi
cmp esi, dword [ebp - 0x3c]
jb 0x100036c0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x44], edi
mov edi, dword [eax + edi*4]
add edi, dword [ebp - 0x20]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xffffffff
je 0x1000369b
lea ecx, [eax + 1]
mov edx, ecx
and edx, 3
mov dword [ebp - 0x4c], edx
cmp eax, 3
jae 0x10003710
mov eax, 0x1d
xor edx, edx
jmp 0x1000374e
and ecx, 0xfffffffc
lea esi, [edi + 3]
mov eax, 0x1d
xor edx, edx
nop dword [eax]
movsx ebx, byte [esi + edx - 3]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 2]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 1]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx]
xor ebx, eax
lea eax, [ebx + ebx*4]
add edx, 4
cmp ecx, edx
jne 0x10003720
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x10003690
add edi, edx
xor ecx, ecx
nop dword [eax]
movsx edx, byte [edi + ecx]
xor edx, eax
lea eax, [edx + edx*4]
inc ecx
cmp esi, ecx
jne 0x10003760
jmp 0x10003690
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x44]
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 1
push dword [ebp - 0x58]
call eax
movaps xmm0, xmmword [0x100170d0]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x100170e0]
movups xmmword [ebp - 0x30], xmm0
xor edi, edi
lea esi, [ebp - 0x40]
nop dword [eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + edi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x34], eax
inc edi
cmp edi, dword [ebp - 0x3c]
jb 0x100037b0
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov ecx, dword [ebp - 0x20]
mov edi, dword [eax + ecx]
movaps xmm0, xmmword [0x100170f0]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x6573b858
xor ebx, ebx
lea esi, [ebp - 0x40]
nop dword [eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x100037f0
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov edi, dword [eax + edi]
movaps xmm0, xmmword [0x10017100]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x7580be35
mov dword [ebp - 0x2c], 0x7ada6ad4
xor ebx, ebx
lea esi, [ebp - 0x40]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10003840
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
mov dword [ebp - 0x54], eax
movaps xmm0, xmmword [0x10017110]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x458dc411
mov dword [ebp - 0x2c], 0x4ae770b0
mov dword [ebp - 0x28], 0x50411d4f
xor ebx, ebx
lea esi, [ebp - 0x40]
nop dword [eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10003890
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
mov dword [ebp - 0x48], eax
movaps xmm0, xmmword [0x10017120]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x10017130]
movups xmmword [ebp - 0x30], xmm0
xor ebx, ebx
lea esi, [ebp - 0x40]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x100038d0
mov ebx, dword [ebp - 0x20]
add dword [ebp - 0x54], ebx
add dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
add eax, ebx
mov dword [ebp - 0x50], eax
xor edi, edi
jmp 0x1000391f
cmp eax, 0x2b132ea
je 0x100039f3
mov edi, dword [ebp - 0x44]
inc edi
movaps xmm0, xmmword [0x10017140]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x65a7cfcb
xor esi, esi
lea ebx, [ebp - 0x40]
nop word cs:[eax + eax]
mov ecx, ebx
push dword [ebp - 0x40]
push dword [ebp + esi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + esi*4 - 0x34], eax
inc esi
cmp esi, dword [ebp - 0x3c]
jb 0x10003940
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x44], edi
mov edi, dword [eax + edi*4]
add edi, dword [ebp - 0x20]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xffffffff
je 0x1000391b
lea ecx, [eax + 1]
mov edx, ecx
and edx, 3
mov dword [ebp - 0x4c], edx
cmp eax, 3
jae 0x10003990
mov eax, 0x1d
xor edx, edx
jmp 0x100039ce
and ecx, 0xfffffffc
lea esi, [edi + 3]
mov eax, 0x1d
xor edx, edx
nop dword [eax]
movsx ebx, byte [esi + edx - 3]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 2]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 1]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx]
xor ebx, eax
lea eax, [ebx + ebx*4]
add edx, 4
cmp ecx, edx
jne 0x100039a0
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x10003910
add edi, edx
xor ecx, ecx
nop dword [eax]
movsx edx, byte [edi + ecx]
xor edx, eax
lea eax, [edx + edx*4]
inc ecx
cmp esi, ecx
jne 0x100039e0
jmp 0x10003910
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x44]
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 1
push dword [ebp - 0x5c]
call eax
movsd xmm0, qword [ebp - 0x74]
mov eax, dword [ebp - 0x60]
movsd qword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x84]
movups xmmword [eax], xmm0
lea edi, [ebp + 8]
jmp 0x100042d3
movaps xmm0, xmmword [0x100170d0]
movups xmmword [ebp - 0x854], xmm0
movaps xmm0, xmmword [0x100170e0]
movups xmmword [ebp - 0x844], xmm0
xor edi, edi
lea esi, [ebp - 0x854]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + edi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x848], eax
inc edi
cmp edi, dword [ebp - 0x850]
jb 0x10003a60
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov edi, dword [eax + ebx]
movaps xmm0, xmmword [0x100170f0]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x6573b858
xor ebx, ebx
lea esi, [ebp - 0x854]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + ebx*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x848], eax
inc ebx
cmp ebx, dword [ebp - 0x850]
jb 0x10003ac0
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov edi, dword [eax + edi]
movaps xmm0, xmmword [0x10017100]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x7580be35
mov dword [ebp - 0x840], 0x7ada6ad4
xor ebx, ebx
lea esi, [ebp - 0x854]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + ebx*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x848], eax
inc ebx
cmp ebx, dword [ebp - 0x850]
jb 0x10003b30
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov eax, dword [eax + edi]
mov dword [ebp - 0x54], eax
movaps xmm0, xmmword [0x10017110]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x458dc411
mov dword [ebp - 0x840], 0x4ae770b0
mov dword [ebp - 0x83c], 0x50411d4f
xor ebx, ebx
lea esi, [ebp - 0x854]
nop
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + ebx*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x848], eax
inc ebx
cmp ebx, dword [ebp - 0x850]
jb 0x10003ba0
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov eax, dword [eax + edi]
mov dword [ebp - 0x48], eax
movaps xmm0, xmmword [0x10017120]
movups xmmword [ebp - 0x854], xmm0
movaps xmm0, xmmword [0x10017130]
movups xmmword [ebp - 0x844], xmm0
xor ebx, ebx
lea esi, [ebp - 0x854]
nop dword [eax + eax]
mov ecx, esi
push dword [ebp - 0x854]
push dword [ebp + ebx*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x848], eax
inc ebx
cmp ebx, dword [ebp - 0x850]
jb 0x10003c00
mov ebx, dword [ebp - 0x20]
add dword [ebp - 0x54], ebx
add dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x84c]
mov eax, dword [ebp + eax*4 - 0x848]
mov eax, dword [eax + edi]
add eax, ebx
mov dword [ebp - 0x50], eax
xor edi, edi
jmp 0x10003c5f
cmp eax, 0x2b132ea
je 0x10003d43
mov edi, dword [ebp - 0x44]
inc edi
movaps xmm0, xmmword [0x10017140]
movups xmmword [ebp - 0x854], xmm0
mov dword [ebp - 0x844], 0x65a7cfcb
xor esi, esi
lea ebx, [ebp - 0x854]
nop
mov ecx, ebx
push dword [ebp - 0x854]
push dword [ebp + esi*4 - 0x848]
call fcn.10008fc0
mov dword [ebp + esi*4 - 0x848], eax
inc esi
cmp esi, dword [ebp - 0x850]
jb 0x10003c80
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x44], edi
mov edi, dword [eax + edi*4]
add edi, dword [ebp - 0x20]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xffffffff
je 0x10003c5b
lea ecx, [eax + 1]
mov edx, ecx
and edx, 3
mov dword [ebp - 0x4c], edx
cmp eax, 3
jae 0x10003ce0
mov eax, 0x1d
xor edx, edx
jmp 0x10003d1e
and ecx, 0xfffffffc
lea esi, [edi + 3]
mov eax, 0x1d
xor edx, edx
nop dword [eax]
movsx ebx, byte [esi + edx - 3]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 2]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 1]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx]
xor ebx, eax
lea eax, [ebx + ebx*4]
add edx, 4
cmp ecx, edx
jne 0x10003cf0
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x10003c50
add edi, edx
xor ecx, ecx
nop dword [eax]
movsx edx, byte [edi + ecx]
xor edx, eax
lea eax, [edx + edx*4]
inc ecx
cmp esi, ecx
jne 0x10003d30
jmp 0x10003c50
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x44]
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0
push dword [ebp - 0x5c]
call eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x60]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
lea edi, [ebp + 8]
jmp 0x100042d3
movaps xmm0, xmmword [0x100170d0]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x100170e0]
movups xmmword [ebp - 0x30], xmm0
xor edi, edi
lea esi, [ebp - 0x40]
mov ebx, dword [ebp - 0x20]
nop
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + edi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x34], eax
inc edi
cmp edi, dword [ebp - 0x3c]
jb 0x10003da0
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov edi, dword [eax + ebx]
movaps xmm0, xmmword [0x100170f0]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x6573b858
xor ebx, ebx
lea esi, [ebp - 0x40]
nop dword [eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10003de0
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov edi, dword [eax + edi]
movaps xmm0, xmmword [0x10017100]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x7580be35
mov dword [ebp - 0x2c], 0x7ada6ad4
xor ebx, ebx
lea esi, [ebp - 0x40]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10003e30
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
mov dword [ebp - 0x54], eax
movaps xmm0, xmmword [0x10017110]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x458dc411
mov dword [ebp - 0x2c], 0x4ae770b0
mov dword [ebp - 0x28], 0x50411d4f
xor ebx, ebx
lea esi, [ebp - 0x40]
nop dword [eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10003e80
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
mov dword [ebp - 0x48], eax
movaps xmm0, xmmword [0x10017120]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x10017130]
movups xmmword [ebp - 0x30], xmm0
xor ebx, ebx
lea esi, [ebp - 0x40]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10003ec0
mov ebx, dword [ebp - 0x20]
add dword [ebp - 0x54], ebx
add dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
add eax, ebx
mov dword [ebp - 0x50], eax
xor edi, edi
jmp 0x10003f0f
cmp eax, 0x2b132ea
je 0x10003fe3
mov edi, dword [ebp - 0x44]
inc edi
movaps xmm0, xmmword [0x10017140]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x65a7cfcb
xor esi, esi
lea ebx, [ebp - 0x40]
nop word cs:[eax + eax]
mov ecx, ebx
push dword [ebp - 0x40]
push dword [ebp + esi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + esi*4 - 0x34], eax
inc esi
cmp esi, dword [ebp - 0x3c]
jb 0x10003f30
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x44], edi
mov edi, dword [eax + edi*4]
add edi, dword [ebp - 0x20]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xffffffff
je 0x10003f0b
lea ecx, [eax + 1]
mov edx, ecx
and edx, 3
mov dword [ebp - 0x4c], edx
cmp eax, 3
jae 0x10003f80
mov eax, 0x1d
xor edx, edx
jmp 0x10003fbe
and ecx, 0xfffffffc
lea esi, [edi + 3]
mov eax, 0x1d
xor edx, edx
nop dword [eax]
movsx ebx, byte [esi + edx - 3]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 2]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 1]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx]
xor ebx, eax
lea eax, [ebx + ebx*4]
add edx, 4
cmp ecx, edx
jne 0x10003f90
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x10003f00
add edi, edx
xor ecx, ecx
nop dword [eax]
movsx edx, byte [edi + ecx]
xor edx, eax
lea eax, [edx + edx*4]
inc ecx
cmp esi, ecx
jne 0x10003fd0
jmp 0x10003f00
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x44]
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 1
push dword [ebp - 0x58]
call eax
movaps xmm0, xmmword [0x100170d0]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x100170e0]
movups xmmword [ebp - 0x30], xmm0
xor edi, edi
lea esi, [ebp - 0x40]
nop dword [eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + edi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + edi*4 - 0x34], eax
inc edi
cmp edi, dword [ebp - 0x3c]
jb 0x10004020
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov ecx, dword [ebp - 0x20]
mov edi, dword [eax + ecx]
movaps xmm0, xmmword [0x100170f0]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x6573b858
xor ebx, ebx
lea esi, [ebp - 0x40]
nop dword [eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10004060
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov edi, dword [eax + edi]
movaps xmm0, xmmword [0x10017100]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x7580be35
mov dword [ebp - 0x2c], 0x7ada6ad4
xor ebx, ebx
lea esi, [ebp - 0x40]
nop word cs:[eax + eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x100040b0
add edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
mov dword [ebp - 0x54], eax
movaps xmm0, xmmword [0x10017110]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x458dc411
mov dword [ebp - 0x2c], 0x4ae770b0
mov dword [ebp - 0x28], 0x50411d4f
xor ebx, ebx
lea esi, [ebp - 0x40]
nop dword [eax]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10004100
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
mov dword [ebp - 0x48], eax
movaps xmm0, xmmword [0x10017120]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x10017130]
movups xmmword [ebp - 0x30], xmm0
xor ebx, ebx
lea esi, [ebp - 0x40]
mov ecx, esi
push dword [ebp - 0x40]
push dword [ebp + ebx*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
cmp ebx, dword [ebp - 0x3c]
jb 0x10004140
mov ebx, dword [ebp - 0x20]
add dword [ebp - 0x54], ebx
add dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [eax + edi]
add eax, ebx
mov dword [ebp - 0x50], eax
xor edi, edi
jmp 0x1000418f
cmp eax, 0x2b132ea
je 0x10004263
mov edi, dword [ebp - 0x44]
inc edi
movaps xmm0, xmmword [0x10017140]
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x65a7cfcb
xor esi, esi
lea ebx, [ebp - 0x40]
nop word cs:[eax + eax]
mov ecx, ebx
push dword [ebp - 0x40]
push dword [ebp + esi*4 - 0x34]
call fcn.10008fc0
mov dword [ebp + esi*4 - 0x34], eax
inc esi
cmp esi, dword [ebp - 0x3c]
jb 0x100041b0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x44], edi
mov edi, dword [eax + edi*4]
add edi, dword [ebp - 0x20]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xffffffff
je 0x1000418b
lea ecx, [eax + 1]
mov edx, ecx
and edx, 3
mov dword [ebp - 0x4c], edx
cmp eax, 3
jae 0x10004200
mov eax, 0x1d
xor edx, edx
jmp 0x1000423e
and ecx, 0xfffffffc
lea esi, [edi + 3]
mov eax, 0x1d
xor edx, edx
nop dword [eax]
movsx ebx, byte [esi + edx - 3]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 2]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx - 1]
xor ebx, eax
lea eax, [ebx + ebx*4]
movsx ebx, byte [esi + edx]
xor ebx, eax
lea eax, [ebx + ebx*4]
add edx, 4
cmp ecx, edx
jne 0x10004210
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x10004180
add edi, edx
xor ecx, ecx
nop dword [eax]
movsx edx, byte [edi + ecx]
xor edx, eax
lea eax, [edx + edx*4]
inc ecx
cmp esi, ecx
jne 0x10004250
jmp 0x10004180
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x44]
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + eax*4]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 1
push dword [ebp - 0x5c]
call eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x60]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov eax, dword [ebp - 0x70]
cmp eax, 0xf
lea edi, [ebp + 8]
jbe 0x100042d3
mov ecx, dword [ebp - 0x84]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x100042c9
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10004320
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10015b8b
add esp, 8
mov eax, dword [edi + 0x18]
cmp eax, 0x10
jb 0x10004309
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x100042ff
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10004320
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10015b8b
add esp, 8
mov eax, dword [edi]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x848
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop word cs:[eax + eax]
push ebp
sub esp, 0x18
add ebp, 0xc
mov ecx, dword [ebp - 0x64]
call fcn.10001190
add esp, 0x18
pop ebp
ret