Function at 0x100353c0
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, 0x78
mov eax, dword [0x100c90c0]
xor eax, esp
mov dword [esp + 0x74], eax
push esi
mov esi, ecx
mov dword [esp + 0x24], 0x627f4a0d
push edi
mov dword [esp + 0x18], esi
mov dl, 0xd
mov dword [esp + 0x2c], 0x41527d78
xor ecx, ecx
mov dword [esp + 0x30], 0x63446a62
mov byte [esp + 0x34], 0
nop dword [eax]
lea eax, [esp + 0x29]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x10035413
mov dl, byte [esp + 0x28]
jmp 0x10035400
xorps xmm0, xmm0
mov byte [esp + 0x34], 0
lea ecx, [esp + 0x29]
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 0x10035437
sub ecx, edx
lea eax, [esp + 0x29]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002620
cmp dword [esp + 0x50], 0
mov edi, dword [esi]
mov dword [esp + 0x20], edi
je 0x100354d6
test edi, edi
je 0x100354d6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100354d6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100354d2
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x1003548d
call fcn.1008abff
mov edi, dword [esi + 8]
test edi, edi
je 0x100354b9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003549f
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 0x10035509
mov edi, dword [esp + 0x20]
cmp esi, dword [edi + 0xc4]
jne 0x100354ca
call fcn.1008abff
mov esi, dword [esi]
cmp esi, dword [esp + 0x1c]
jne 0x10035480
mov esi, dword [esp + 0x18]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x58], edi
cmp ecx, 0xf
jbe 0x10035519
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1003550f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10036089
jmp 0x1003550f
mov esi, dword [esp + 0x18]
jmp 0x100354d8
push ecx
push edx
call fcn.100859f6
add esp, 8
mov byte [esp + 0x70], 0x5c
mov al, 0x19
xor al, byte [esp + 0x70]
mov cl, 0x38
mov byte [esp + 0x71], al
mov dl, 0x35
mov al, byte [esp + 0x70]
mov ch, 3
mov dh, 0x15
mov byte [esp + 0x17], 0x18
xor cl, al
mov byte [esp + 0x78], 0
xor dl, al
mov byte [esp + 0x72], cl
xor ch, al
mov byte [esp + 0x73], dl
xor dh, al
mov byte [esp + 0x75], ch
mov ah, 0x28
mov byte [esp + 0x76], dh
xor ah, al
mov byte [esp + 0x78], 0
mov al, byte [esp + 0x17]
lea ecx, [esp + 0x71]
xor al, byte [esp + 0x70]
lea edx, [ecx + 1]
xorps xmm0, xmm0
mov byte [esp + 0x74], ah
mov byte [esp + 0x77], 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 0x10035590
sub ecx, edx
lea eax, [esp + 0x71]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002620
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x58]
mov dword [esp + 0x20], edi
je 0x1003562d
test edi, edi
je 0x1003562d
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003562d
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10035629
cmp esi, dword [edi + 0xc4]
jne 0x100355e4
call fcn.1008abff
mov edi, dword [esi + 8]
test edi, edi
je 0x10035610
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100355f6
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 0x10035660
mov edi, dword [esp + 0x20]
cmp esi, dword [edi + 0xc4]
jne 0x10035621
call fcn.1008abff
mov esi, dword [esi]
cmp esi, dword [esp + 0x1c]
jne 0x100355d7
mov esi, dword [esp + 0x18]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x5c], edi
cmp ecx, 0xf
jbe 0x10035670
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10035666
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003608e
jmp 0x10035666
mov esi, dword [esp + 0x18]
jmp 0x1003562f
push ecx
push edx
call fcn.100859f6
add esp, 8
mov byte [esp + 0x70], 0x5b
mov al, 0x1e
xor al, byte [esp + 0x70]
mov cl, 0x3f
mov byte [esp + 0x71], al
mov dl, 0x32
mov al, byte [esp + 0x70]
mov ch, 4
mov dh, 0xb
mov byte [esp + 0x17], 0xc
xor cl, al
mov byte [esp + 0x78], 0
xor dl, al
mov byte [esp + 0x72], cl
xor ch, al
mov byte [esp + 0x73], dl
xor dh, al
mov byte [esp + 0x75], ch
mov ah, 0x2f
mov byte [esp + 0x76], dh
xor ah, al
mov byte [esp + 0x78], 0
mov al, byte [esp + 0x17]
lea ecx, [esp + 0x71]
xor al, byte [esp + 0x70]
lea edx, [ecx + 1]
xorps xmm0, xmm0
mov byte [esp + 0x74], ah
mov byte [esp + 0x77], al
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100356e5
sub ecx, edx
lea eax, [esp + 0x71]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002620
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x58]
mov dword [esp + 0x20], edi
je 0x10035786
test edi, edi
je 0x10035786
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10035786
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10035782
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x1003573d
call fcn.1008abff
mov edi, dword [esi + 8]
test edi, edi
je 0x10035769
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003574f
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 0x100357b9
mov edi, dword [esp + 0x20]
cmp esi, dword [edi + 0xc4]
jne 0x1003577a
call fcn.1008abff
mov esi, dword [esi]
cmp esi, dword [esp + 0x1c]
jne 0x10035730
mov esi, dword [esp + 0x18]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x60], edi
cmp ecx, 0xf
jbe 0x100357c9
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100357bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10036093
jmp 0x100357bf
mov esi, dword [esp + 0x18]
jmp 0x10035788
push ecx
push edx
call fcn.100859f6
add esp, 8
mov byte [esp + 0x70], 0x48
mov al, 0x2a
xor al, byte [esp + 0x70]
mov cl, 0x3c
mov ch, 0x27
mov byte [esp + 0x71], al
mov al, byte [esp + 0x70]
mov dl, 0x26
xor cl, al
mov byte [esp + 0x77], 0
xor ch, al
mov byte [esp + 0x72], cl
mov ah, 0x17
mov byte [esp + 0x75], ch
mov dh, 0x23
mov byte [esp + 0x77], 0
xor dl, al
mov dword [esp + 0x50], 0
xor ah, al
mov byte [esp + 0x73], dl
xor dh, al
mov byte [esp + 0x74], ah
xorps xmm0, xmm0
mov byte [esp + 0x76], dh
lea ecx, [esp + 0x71]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x54], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10035830
sub ecx, edx
lea eax, [esp + 0x71]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002620
mov ecx, dword [esi + 0x58]
lea edx, [esp + 0x40]
call fcn.1001c410
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x64], eax
cmp ecx, 0xf
jbe 0x1003588d
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10035883
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10036098
push ecx
push edx
call fcn.100859f6
add esp, 8
mov dl, 6
mov dword [esp + 0x28], 0x68726406
mov dword [esp + 0x2c], 0x6b637459
xor ecx, ecx
mov dword [esp + 0x30], 0x63646b63
mov word [esp + 0x34], 0x74
lea eax, [esp + 0x29]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xc
jae 0x100358c3
mov dl, byte [esp + 0x28]
jmp 0x100358b0
xorps xmm0, xmm0
mov byte [esp + 0x35], 0
lea ecx, [esp + 0x29]
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 0x100358e7
sub ecx, edx
lea eax, [esp + 0x29]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002620
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x58]
mov dword [esp + 0x20], edi
je 0x10035986
test edi, edi
je 0x10035986
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10035986
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10035982
nop
cmp esi, dword [edi + 0xc4]
jne 0x1003593d
call fcn.1008abff
mov edi, dword [esi + 8]
test edi, edi
je 0x10035969
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003594f
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 0x100359b9
mov edi, dword [esp + 0x20]
cmp esi, dword [edi + 0xc4]
jne 0x1003597a
call fcn.1008abff
mov esi, dword [esi]
cmp esi, dword [esp + 0x1c]
jne 0x10035930
mov esi, dword [esp + 0x18]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x68], edi
cmp ecx, 0xf
jbe 0x100359c9
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100359bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003609d
jmp 0x100359bf
mov esi, dword [esp + 0x18]
jmp 0x10035988
push ecx
push edx
call fcn.100859f6
add esp, 8
cmp dword [0x100cb054], 0
je 0x10035a32
mov ecx, dword [esi + 0x5c]
test ecx, ecx
je 0x100359f3
mov eax, dword [0x100cb010]
dec eax
cmp eax, 0x14
ja 0x100359f3
push 1
mov edx, 0x100cb000
call fcn.1001c510
add esp, 4
mov ecx, dword [esi + 0x60]
test ecx, ecx
je 0x10035a14
mov eax, dword [0x100cb028]
dec eax
cmp eax, 0x2f
ja 0x10035a14
push 0
mov edx, 0x100cb018
call fcn.1001c510
add esp, 4
mov edi, dword [esi + 0x68]
test edi, edi
je 0x10035a32
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10035a32
push 3
mov ecx, edi
call dword [0x100bd60c]
movaps xmm0, xmmword [0x100bf9e0]
xor ecx, ecx
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x38], 0x16e45
mov byte [esp + 0x3c], 0
nop dword [eax]
mov al, byte [esp + 0x28]
xor byte [esp + ecx + 0x29], al
inc ecx
cmp ecx, 0x13
jb 0x10035a50
xorps xmm0, xmm0
mov byte [esp + 0x3c], 0
lea ecx, [esp + 0x29]
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 0x10035a82
sub ecx, edx
lea eax, [esp + 0x29]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002620
cmp dword [esp + 0x50], 0
mov edi, dword [esi]
mov dword [esp + 0x20], edi
je 0x10035b1e
test edi, edi
je 0x10035b1e
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10035b1e
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10035b1a
cmp esi, dword [edi + 0xc4]
jne 0x10035ad5
call fcn.1008abff
mov edi, dword [esi + 8]
test edi, edi
je 0x10035b01
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10035ae7
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 0x10035b51
mov edi, dword [esp + 0x20]
cmp esi, dword [edi + 0xc4]
jne 0x10035b12
call fcn.1008abff
mov esi, dword [esi]
cmp esi, dword [esp + 0x1c]
jne 0x10035ac8
mov esi, dword [esp + 0x18]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x6c], edi
cmp ecx, 0xf
jbe 0x10035b61
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10035b57
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100360a2
jmp 0x10035b57
mov esi, dword [esp + 0x18]
jmp 0x10035b20
push ecx
push edx
call fcn.100859f6
add esp, 8
mov al, 1
mov byte [esp + 0x17], al
movzx edi, al
mov cl, 0x2f
mov ch, cl
mov byte [esp + 0x28], 0x4a
xor cl, byte [esp + 0x28]
mov al, 0x39
xor al, byte [esp + 0x28]
mov dl, 0x38
mov byte [esp + 0x29], al
mov dh, dl
mov byte [esp + 0x2a], cl
mov ah, 0x3c
mov cl, byte [esp + 0x28]
xorps xmm0, xmm0
mov byte [esp + 0x6e], 0x15
xor dl, cl
mov al, byte [esp + 0x6e]
xor ah, cl
xor al, cl
mov byte [esp + 0x6f], 0x6f
mov byte [esp + 0x2f], al
xor dh, cl
mov al, byte [esp + 0x6f]
xor ch, cl
xor al, cl
mov byte [esp + 0x27], 0x2e
mov byte [esp + 0x30], al
mov al, byte [esp + 0x27]
xor al, cl
mov byte [esp + 0x2b], dl
push edi
sub esp, 0x18
mov byte [esp + 0x4a], dh
mov edx, esp
mov byte [esp + 0x49], ch
lea ecx, [esp + 0x45]
mov byte [esp + 0x48], ah
mov byte [esp + 0x4d], al
lea eax, [ecx + 1]
mov byte [esp + 0x4e], 0
movups xmmword [edx], xmm0
mov byte [esp + 0x4e], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [esp + 0x3c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10035c03
sub ecx, dword [esp + 0x3c]
lea eax, [esp + 0x45]
push ecx
push eax
mov ecx, edx
call fcn.10002620
lea eax, [esp + 0x5c]
push eax
call fcn.10005dd0
mov ecx, dword [esi + 0x6c]
add esp, 0x20
mov edx, eax
call fcn.1001c410
mov ecx, dword [esp + 0x54]
mov dword [esi + edi*4 + 4], eax
cmp ecx, 0xf
jbe 0x10035c6c
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10035c62
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10036089
push ecx
push edx
call fcn.100859f6
add esp, 8
mov al, byte [esp + 0x17]
inc al
mov byte [esp + 0x17], al
cmp al, 0x14
jbe 0x10035b67
mov byte [esp + 0x70], 0x77
mov al, 0x27
xor al, byte [esp + 0x70]
mov ah, 0x1a
mov byte [esp + 0x71], al
mov cl, 5
mov al, byte [esp + 0x70]
mov dl, 0x12
mov ch, 0x1e
mov byte [esp + 0x27], ah
mov dh, 2
mov byte [esp + 0x78], 0
xor cl, al
mov byte [esp + 0x78], 0
xor dl, al
mov byte [esp + 0x72], cl
xor ch, al
mov byte [esp + 0x73], dl
xor dh, al
mov byte [esp + 0x75], ch
xor ah, al
mov byte [esp + 0x76], dh
mov al, byte [esp + 0x27]
lea ecx, [esp + 0x71]
xor al, byte [esp + 0x70]
lea edx, [ecx + 1]
xorps xmm0, xmm0
mov byte [esp + 0x74], ah
mov byte [esp + 0x77], al
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10035cf2
sub ecx, edx
lea eax, [esp + 0x71]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002620
cmp dword [esp + 0x50], 0
mov edi, dword [esi]
mov dword [esp + 0x20], edi
je 0x10035d8e
test edi, edi
je 0x10035d8e
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10035d8e
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10035d8a
cmp esi, dword [edi + 0xc4]
jne 0x10035d45
call fcn.1008abff
mov edi, dword [esi + 8]
test edi, edi
je 0x10035d71
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10035d57
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 0x10035dc1
mov edi, dword [esp + 0x20]
cmp esi, dword [edi + 0xc4]
jne 0x10035d82
call fcn.1008abff
mov esi, dword [esi]
cmp esi, dword [esp + 0x1c]
jne 0x10035d38
mov esi, dword [esp + 0x18]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x70], edi
cmp ecx, 0xf
jbe 0x10035dd1
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10035dc7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100360a7
jmp 0x10035dc7
mov esi, dword [esp + 0x18]
jmp 0x10035d90
push ecx
push edx
call fcn.100859f6
add esp, 8
movaps xmm0, xmmword [0x100bf070]
xor ecx, ecx
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x38], 0x121315
mov al, byte [esp + 0x28]
xor byte [esp + ecx + 0x29], al
inc ecx
cmp ecx, 0x12
jb 0x10035de7
xorps xmm0, xmm0
mov byte [esp + 0x3b], 0
lea ecx, [esp + 0x29]
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 0x10035e20
sub ecx, edx
lea eax, [esp + 0x29]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002620
cmp dword [esp + 0x50], 0
mov edi, dword [esi]
mov dword [esp + 0x20], edi
je 0x10035ebc
test edi, edi
je 0x10035ebc
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10035ebc
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10035eb8
cmp esi, dword [edi + 0xc4]
jne 0x10035e73
call fcn.1008abff
mov edi, dword [esi + 8]
test edi, edi
je 0x10035e9f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10035e85
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 0x10035eef
mov edi, dword [esp + 0x20]
cmp esi, dword [edi + 0xc4]
jne 0x10035eb0
call fcn.1008abff
mov esi, dword [esi]
cmp esi, dword [esp + 0x1c]
jne 0x10035e66
mov esi, dword [esp + 0x18]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x54], edi
cmp ecx, 0xf
jbe 0x10035eff
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10035ef5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100360ac
jmp 0x10035ef5
mov esi, dword [esp + 0x18]
jmp 0x10035ebe
push ecx
push edx
call fcn.100859f6
add esp, 8
mov eax, dword [0xc20bb0]
mov ecx, dword [0xc20bac]
mov edi, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x54]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10035f42
push 4
push eax
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10035f42
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xe4]
sub eax, dword [ecx + 0xdc]
mov dword [esp + 0x1c], eax
jmp 0x10035f4a
mov dword [esp + 0x1c], 0
mov eax, dword [esi + 0x54]
mov dword [esp + 0x70], eax
test eax, eax
je 0x10035f72
push 4
push eax
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10035f72
sub edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
push eax
push edi
call dword [0x100bd5f8]
mov edi, dword [esi + 0x58]
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
test edi, edi
je 0x10035fa3
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10035fa3
lea eax, [esp + 0x70]
mov ecx, edi
push eax
call dword [0x100bd5f4]
mov edi, dword [esi + 0x58]
test edi, edi
je 0x10035fc5
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10035fc5
mov eax, dword [edi + 0xe8]
sub eax, dword [edi + 0xe0]
jmp 0x10035fc7
xor eax, eax
sub dword [esp + 0x18], eax
mov edi, dword [esi + 0x58]
test edi, edi
je 0x10035fef
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10035fef
push dword [esp + 0x18]
mov ecx, edi
push dword [esp + 0x74]
call dword [0x100bd5f8]
mov edi, dword [esi + 0x6c]
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
test edi, edi
je 0x10036020
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10036020
lea eax, [esp + 0x70]
mov ecx, edi
push eax
call dword [0x100bd5f4]
mov edi, dword [esi + 0x6c]
test edi, edi
je 0x1003603e
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003603e
push eax
push eax
mov ecx, edi
call dword [0x100bd5f8]
mov eax, dword [esi + 0x70]
mov edi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
je 0x10036050
push 4
push eax
call edi
mov esi, dword [esi + 0x70]
test esi, esi
je 0x10036078
push 4
push esi
call edi
test eax, eax
jne 0x10036078
push eax
mov eax, dword [esp + 0x24]
mov ecx, esi
cdq
sub eax, edx
sar eax, 1
sub eax, 0x201
push eax
call dword [0x100bd5f8]
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
xor ecx, esp
call fcn.10085995
mov esp, ebp
pop ebp
ret
call fcn.1008ac0f
call fcn.1008ac0f
call fcn.1008ac0f
call fcn.1008ac0f
call fcn.1008ac0f
call fcn.1008ac0f
call fcn.1008ac0f
call fcn.1008ac0f
int3