Function at 0x1003bbc0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x100b7080]
xor eax, esp
mov dword [esp + 0x84], eax
push esi
mov esi, ecx
mov dword [esp + 0xc], 0x6b797a18
push edi
mov dword [esp + 0x38], esi
mov dl, 0x18
mov dword [esp + 0x14], 0x796c477d
xor ecx, ecx
mov dword [esp + 0x18], 0x2928736b
mov byte [esp + 0x1c], 0
lea eax, [esp + 0x11]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x1003bc16
mov dl, byte [esp + 0x10]
jmp 0x1003bc03
xorps xmm0, xmm0
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003bc40
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi]
mov dword [esp + 0x3c], edi
je 0x1003bcdc
test edi, edi
je 0x1003bcdc
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003bcdc
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x64], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003bcd8
cmp esi, dword [edi + 0xc4]
jne 0x1003bc93
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x1003bcbf
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003bca5
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003bd0f
mov edi, dword [esp + 0x3c]
cmp esi, dword [edi + 0xc4]
jne 0x1003bcd0
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x64]
jne 0x1003bc86
mov esi, dword [esp + 0x38]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 4], edi
cmp ecx, 0xf
jbe 0x1003bd1f
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003bd15
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003ca8d
jmp 0x1003bd15
mov esi, dword [esp + 0x38]
jmp 0x1003bcde
push ecx
push edx
call fcn.100812a6
add esp, 8
movaps xmm0, xmmword [str.7DCEhBDREYXCTR]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
nop dword [eax]
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0xe
jb 0x1003bd30
xorps xmm0, xmm0
mov byte [esp + 0x1f], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003bd62
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 4]
mov dword [esp + 0x64], edi
je 0x1003be06
test edi, edi
je 0x1003be06
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003be06
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x3c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003be02
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x1003bdbd
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x1003bde9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003bdcf
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003be39
mov edi, dword [esp + 0x64]
cmp esi, dword [edi + 0xc4]
jne 0x1003bdfa
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x3c]
jne 0x1003bdb0
mov esi, dword [esp + 0x38]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 8], edi
cmp ecx, 0xf
jbe 0x1003be49
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003be3f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003ca92
jmp 0x1003be3f
mov esi, dword [esp + 0x38]
jmp 0x1003be08
push ecx
push edx
call fcn.100812a6
add esp, 8
mov byte [esp + 0x64], 0xb
mov al, 0x78
xor al, byte [esp + 0x64]
mov cl, 0x7f
mov byte [esp + 0x65], al
mov dl, 0x79
mov al, byte [esp + 0x64]
mov ch, 0x6e
mov dh, 0x73
mov byte [esp + 0xe], 0x7b
xor cl, al
mov byte [esp + 0x6c], 0
xor dl, al
mov byte [esp + 0x66], cl
xor ch, al
mov byte [esp + 0x67], dl
xor dh, al
mov byte [esp + 0x69], ch
mov ah, 0x54
mov byte [esp + 0x6a], dh
xor ah, al
mov byte [esp + 0x6c], 0
mov al, byte [esp + 0xe]
lea ecx, [esp + 0x65]
xor al, byte [esp + 0x64]
lea edx, [ecx + 1]
xorps xmm0, xmm0
mov byte [esp + 0x68], ah
mov byte [esp + 0x6b], al
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003bec0
sub ecx, edx
lea eax, [esp + 0x65]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 4]
mov dword [esp + 0x64], edi
je 0x1003bf66
test edi, edi
je 0x1003bf66
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003bf66
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x3c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003bf62
nop dword [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x1003bf1d
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x1003bf49
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003bf2f
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003bf99
mov edi, dword [esp + 0x64]
cmp esi, dword [edi + 0xc4]
jne 0x1003bf5a
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x3c]
jne 0x1003bf10
mov esi, dword [esp + 0x38]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0xc], edi
cmp ecx, 0xf
jbe 0x1003bfa9
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003bf9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003ca97
jmp 0x1003bf9f
mov esi, dword [esp + 0x38]
jmp 0x1003bf68
push ecx
push edx
call fcn.100812a6
add esp, 8
mov byte [esp + 0x10], 0x19
mov cl, 0x78
xor cl, byte [esp + 0x10]
mov al, 0x7b
xor al, byte [esp + 0x10]
mov ch, 0x46
mov byte [esp + 0x11], al
mov dl, 0x6a
mov byte [esp + 0x12], cl
mov dh, 0x6b
mov cl, byte [esp + 0x10]
mov ah, 0x7c
mov byte [esp + 0xe], 0x70
xor dl, cl
mov al, byte [esp + 0xe]
xor ch, cl
xor al, cl
mov byte [esp + 0x63], 0x7e
mov byte [esp + 0x17], al
xor dh, cl
mov al, byte [esp + 0x63]
xor ah, cl
xor al, cl
mov byte [esp + 0x37], 0x71
mov byte [esp + 0x18], al
xorps xmm0, xmm0
mov al, byte [esp + 0x37]
xor al, cl
mov byte [esp + 0xf], 0x6d
mov byte [esp + 0x19], al
mov al, byte [esp + 0xf]
xor al, cl
mov byte [esp + 0x15], ch
lea ecx, [esp + 0x11]
mov byte [esp + 0x1b], 0
mov byte [esp + 0x13], dl
mov byte [esp + 0x16], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14], ah
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], 0
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c050
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 4]
mov dword [esp + 0x64], edi
je 0x1003c0ed
test edi, edi
je 0x1003c0ed
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c0ed
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x3c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003c0e9
cmp esi, dword [edi + 0xc4]
jne 0x1003c0a4
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x1003c0d0
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003c0b6
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003c120
mov edi, dword [esp + 0x64]
cmp esi, dword [edi + 0xc4]
jne 0x1003c0e1
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x3c]
jne 0x1003c097
mov esi, dword [esp + 0x38]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x10], edi
cmp ecx, 0xf
jbe 0x1003c130
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003c126
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003ca9c
jmp 0x1003c126
mov esi, dword [esp + 0x38]
jmp 0x1003c0ef
push ecx
push edx
call fcn.100812a6
add esp, 8
xor al, al
mov byte [esp + 0xe], al
movzx edi, al
mov cl, 0x34
mov byte [esp + 0x10], 0x40
mov al, 0x22
xor al, byte [esp + 0x10]
mov dl, 0x2e
xor cl, byte [esp + 0x10]
mov ah, 0x1f
mov byte [esp + 0x11], al
mov ch, 0x65
mov byte [esp + 0x12], cl
mov dh, 0x6e
mov cl, byte [esp + 0x10]
xorps xmm0, xmm0
mov byte [esp + 0xf], 0x72
xor dl, cl
mov al, byte [esp + 0xf]
xor ah, cl
xor al, cl
mov byte [esp + 0x37], 0x24
mov byte [esp + 0x17], al
xor dh, cl
mov al, byte [esp + 0x37]
xor ch, cl
xor al, cl
mov byte [esp + 0x13], dl
push edi
sub esp, 0x18
mov byte [esp + 0x32], dh
mov edx, esp
mov byte [esp + 0x31], ch
lea ecx, [esp + 0x2d]
mov byte [esp + 0x30], ah
mov byte [esp + 0x34], al
lea eax, [ecx + 1]
mov byte [esp + 0x35], 0
movups xmmword [edx], xmm0
mov byte [esp + 0x35], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [esp + 0x80], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c1c6
sub ecx, dword [esp + 0x80]
lea eax, [esp + 0x2d]
push ecx
push eax
mov ecx, edx
call fcn.10002570
lea eax, [esp + 0x5c]
push eax
call fcn.1000a3e0
mov ecx, dword [esi + 0x10]
add esp, 0x20
mov edx, eax
call fcn.10017d80
mov ecx, dword [esp + 0x54]
mov dword [esi + edi*4 + 0x14], eax
cmp ecx, 0xf
jbe 0x1003c232
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003c228
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003ca8d
push ecx
push edx
call fcn.100812a6
add esp, 8
mov al, byte [esp + 0xe]
inc al
mov byte [esp + 0xe], al
cmp al, 8
jb 0x1003c136
movaps xmm0, xmmword [0x100af8a0]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov byte [esp + 0x20], 0
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0xf
jb 0x1003c257
xorps xmm0, xmm0
mov byte [esp + 0x20], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c290
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi]
mov dword [esp + 0x64], edi
je 0x1003c32c
test edi, edi
je 0x1003c32c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c32c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x3c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003c328
cmp esi, dword [edi + 0xc4]
jne 0x1003c2e3
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x1003c30f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003c2f5
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003c35f
mov edi, dword [esp + 0x64]
cmp esi, dword [edi + 0xc4]
jne 0x1003c320
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x3c]
jne 0x1003c2d6
mov esi, dword [esp + 0x38]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x34], edi
cmp ecx, 0xf
jbe 0x1003c36f
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003c365
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003caa1
jmp 0x1003c365
mov esi, dword [esp + 0x38]
jmp 0x1003c32e
push ecx
push edx
call fcn.100812a6
add esp, 8
movaps xmm0, xmmword [str._STR]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
nop dword [eax]
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0xe
jb 0x1003c380
xorps xmm0, xmm0
mov byte [esp + 0x1f], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c3b2
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x34]
mov dword [esp + 0x64], edi
je 0x1003c456
test edi, edi
je 0x1003c456
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c456
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x3c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003c452
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x1003c40d
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x1003c439
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003c41f
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003c489
mov edi, dword [esp + 0x64]
cmp esi, dword [edi + 0xc4]
jne 0x1003c44a
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x3c]
jne 0x1003c400
mov esi, dword [esp + 0x38]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x38], edi
cmp ecx, 0xf
jbe 0x1003c499
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003c48f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003caa6
jmp 0x1003c48f
mov esi, dword [esp + 0x38]
jmp 0x1003c458
push ecx
push edx
call fcn.100812a6
add esp, 8
mov byte [esp + 0x64], 0x6f
mov al, 0x1c
xor al, byte [esp + 0x64]
mov cl, 0x1b
mov byte [esp + 0x65], al
mov dl, 0x1d
mov al, byte [esp + 0x64]
mov ch, 0xa
mov dh, 0x17
mov byte [esp + 0xf], 0x1f
xor cl, al
mov byte [esp + 0x6c], 0
xor dl, al
mov byte [esp + 0x66], cl
xor ch, al
mov byte [esp + 0x67], dl
xor dh, al
mov byte [esp + 0x69], ch
mov ah, 0x30
mov byte [esp + 0x6a], dh
xor ah, al
mov byte [esp + 0x6c], 0
mov al, byte [esp + 0xf]
lea ecx, [esp + 0x65]
xor al, byte [esp + 0x64]
lea edx, [ecx + 1]
xorps xmm0, xmm0
mov byte [esp + 0x68], ah
mov byte [esp + 0x6b], al
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c510
sub ecx, edx
lea eax, [esp + 0x65]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x34]
mov dword [esp + 0x64], edi
je 0x1003c5b6
test edi, edi
je 0x1003c5b6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c5b6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x3c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003c5b2
nop dword [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x1003c56d
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x1003c599
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003c57f
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003c5e9
mov edi, dword [esp + 0x64]
cmp esi, dword [edi + 0xc4]
jne 0x1003c5aa
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x3c]
jne 0x1003c560
mov esi, dword [esp + 0x38]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x3c], edi
cmp ecx, 0xf
jbe 0x1003c5f9
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003c5ef
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003caab
jmp 0x1003c5ef
mov esi, dword [esp + 0x38]
jmp 0x1003c5b8
push ecx
push edx
call fcn.100812a6
add esp, 8
mov dl, 0x48
mov dword [esp + 0x10], 0x273a3848
mov dword [esp + 0x14], 0x3b2d3a2f
xor ecx, ecx
mov dword [esp + 0x18], 0x302d173b
mov word [esp + 0x1c], 0x38
nop dword [eax]
lea eax, [esp + 0x11]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xc
jae 0x1003c633
mov dl, byte [esp + 0x10]
jmp 0x1003c620
xorps xmm0, xmm0
mov byte [esp + 0x1d], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c657
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x34]
mov dword [esp + 0x64], edi
je 0x1003c6f6
test edi, edi
je 0x1003c6f6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c6f6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x3c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003c6f2
nop
cmp esi, dword [edi + 0xc4]
jne 0x1003c6ad
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x1003c6d9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003c6bf
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003c729
mov edi, dword [esp + 0x64]
cmp esi, dword [edi + 0xc4]
jne 0x1003c6ea
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x3c]
jne 0x1003c6a0
mov esi, dword [esp + 0x38]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x40], edi
cmp ecx, 0xf
jbe 0x1003c739
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003c72f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003cab0
jmp 0x1003c72f
mov esi, dword [esp + 0x38]
jmp 0x1003c6f8
push ecx
push edx
call fcn.100812a6
add esp, 8
xor al, al
mov byte [esp + 0xe], al
nop
movzx edi, al
mov cl, 0x30
mov byte [esp + 0x10], 0x44
mov al, 0x26
xor al, byte [esp + 0x10]
mov dl, 0x2a
xor cl, byte [esp + 0x10]
mov ah, 0x1b
mov byte [esp + 0x11], al
mov ch, 0x61
mov byte [esp + 0x12], cl
mov dh, 0x6a
mov cl, byte [esp + 0x10]
xorps xmm0, xmm0
mov byte [esp + 0xf], 0x76
xor dl, cl
mov al, byte [esp + 0xf]
xor ah, cl
xor al, cl
mov byte [esp + 0x37], 0x20
mov byte [esp + 0x17], al
xor dh, cl
mov al, byte [esp + 0x37]
xor ch, cl
xor al, cl
mov byte [esp + 0x13], dl
push edi
sub esp, 0x18
mov byte [esp + 0x32], dh
mov edx, esp
mov byte [esp + 0x31], ch
lea ecx, [esp + 0x2d]
mov byte [esp + 0x30], ah
mov byte [esp + 0x34], al
lea eax, [ecx + 1]
mov byte [esp + 0x35], 0
movups xmmword [edx], xmm0
mov byte [esp + 0x35], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [esp + 0x80], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c7d0
sub ecx, dword [esp + 0x80]
lea eax, [esp + 0x2d]
push ecx
push eax
mov ecx, edx
call fcn.10002570
lea eax, [esp + 0x5c]
push eax
call fcn.1000a3e0
mov ecx, dword [esi + 0x34]
add esp, 0x20
mov edx, eax
call fcn.10017d80
mov ecx, dword [esp + 0x54]
mov dword [esi + edi*4 + 0x44], eax
cmp ecx, 0xf
jbe 0x1003c83c
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003c832
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003ca8d
push ecx
push edx
call fcn.100812a6
add esp, 8
mov al, byte [esp + 0xe]
inc al
mov byte [esp + 0xe], al
cmp al, 8
jb 0x1003c740
mov esi, dword [esi + 0x38]
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
test esi, esi
je 0x1003c87f
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c87f
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call dword [0x100ae558]
mov edi, dword [esp + 0x38]
mov esi, dword [edi + 8]
test esi, esi
je 0x1003c8a7
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c8a7
push dword [esp + 0x68]
mov ecx, esi
push dword [esp + 0x68]
call dword [0x100ae55c]
mov esi, dword [edi + 0x38]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
test esi, esi
je 0x1003c903
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c903
mov eax, dword [esi + 0xdc]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xe0]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xe4]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xe8]
mov dword [esp + 0x1c], eax
movaps xmm0, xmmword [esp + 0x10]
mov esi, dword [edi + 8]
movaps xmmword [esp + 0x70], xmm0
test esi, esi
je 0x1003c92e
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c92e
lea eax, [esp + 0x70]
mov ecx, esi
push eax
call dword [0x100ae54c]
mov esi, dword [edi + 0x3c]
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
test esi, esi
je 0x1003c95f
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c95f
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call dword [0x100ae558]
mov esi, dword [edi + 0xc]
test esi, esi
je 0x1003c983
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c983
push dword [esp + 0x68]
mov ecx, esi
push dword [esp + 0x68]
call dword [0x100ae55c]
mov esi, dword [edi + 0x3c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
test esi, esi
je 0x1003c9df
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c9df
mov eax, dword [esi + 0xdc]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xe0]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xe4]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xe8]
mov dword [esp + 0x1c], eax
movaps xmm0, xmmword [esp + 0x10]
mov esi, dword [edi + 0xc]
movaps xmmword [esp + 0x70], xmm0
test esi, esi
je 0x1003ca0a
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003ca0a
lea eax, [esp + 0x70]
mov ecx, esi
push eax
call dword [0x100ae54c]
mov esi, dword [edi + 0x40]
test esi, esi
je 0x1003ca5c
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003ca5c
push 4
lea edi, [esi + 0x140]
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003ca58
lea eax, [esi + 0x13c]
push 4
push eax
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003ca58
mov ecx, esi
mov dword [edi], eax
mov dword [esi + 0x13c], 0x64
call dword [0x100ae5a8]
mov edi, dword [esp + 0x38]
mov esi, dword [edi + 0x44]
test esi, esi
je 0x1003ca79
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003ca79
push eax
mov ecx, esi
call dword [0x100ae564]
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
xor ecx, esp
call fcn.10081245
mov esp, ebp
pop ebp
ret
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
int3