Function at 0x100691f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1015c1eb
mov eax, dword fs:[0]
push eax
sub esp, 0x240
mov eax, dword [0x101c0618]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x248], eax
lea eax, [ebp - 0x244]
push eax
mov dword [ebp - 0x240], esi
call fcn.100418d0
add esp, 4
mov dword [ebp - 4], 0
call fcn.1000d010
mov ecx, eax
test ecx, ecx
je 0x10069c22
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 1
mov ebx, str.45476F8083D74BA28A2DD8ED399737B7
shr ebx, 0x10
lea ecx, [ebp - 0x238]
mov eax, str.45476F8083D74BA28A2DD8ED399737B7
test ebx, ebx
jne 0x10069292
movzx eax, ax
push eax
call fcn.1000d1d0
jmp 0x1006929e
push 0x20
push str.45476F8083D74BA28A2DD8ED399737B7
call fcn.1000adf0
mov byte [ebp - 4], 2
call fcn.1000d010
mov ecx, eax
test ecx, ecx
je 0x10069c2c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x22c], eax
mov byte [ebp - 4], 3
mov eax, str.9HtBOauHWOPdRmfcWjqRvg
lea ecx, [ebp - 0x22c]
test eax, 0xffff0000
jne 0x100692e0
movzx eax, ax
push eax
call fcn.1000d1d0
jmp 0x100692ec
push 0x18
push str.9HtBOauHWOPdRmfcWjqRvg
call fcn.1000adf0
mov byte [ebp - 4], 4
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.100b5b00
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.10055930
add esp, 0x18
mov byte [ebp - 4], 7
or edi, 0xffffffff
mov edx, dword [ebp - 0x23c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10069349
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov eax, edi
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1006936a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov eax, edi
mov edx, dword [ebp - 0x238]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1006938b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 1
push dword [ebp - 0x228]
call fcn.100440d0
add esp, 8
test eax, eax
jne 0x100699f2
call fcn.1000d010
mov ecx, eax
test ecx, ecx
je 0x10069c36
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x224], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x224]
test ebx, ebx
jne 0x100693de
mov eax, str.45476F8083D74BA28A2DD8ED399737B7
movzx eax, ax
push eax
call fcn.1000d1d0
jmp 0x100693ea
push 0x20
push str.45476F8083D74BA28A2DD8ED399737B7
call fcn.1000adf0
mov byte [ebp - 4], 0xe
call fcn.1000d010
mov ecx, eax
test ecx, ecx
je 0x10069c40
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0xf
mov eax, str.QiXb5iJYRFLvsuupNbtbYfNU0Ne0L_LB
shr eax, 0x10
mov ecx, str.QiXb5iJYRFLvsuupNbtbYfNU0Ne0L_LB
mov dword [ebp - 0x238], eax
test eax, eax
jne 0x10069437
movzx eax, cx
lea ecx, [ebp - 0x220]
push eax
call fcn.1000d1d0
jmp 0x10069449
push 0x20
push str.QiXb5iJYRFLvsuupNbtbYfNU0Ne0L_LB
lea ecx, [ebp - 0x220]
call fcn.1000adf0
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.100b5b00
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.10055930
add esp, 0x18
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x228]
push eax
call fcn.1000b6e0
mov byte [ebp - 4], 0x11
mov eax, edi
mov edx, dword [ebp - 0x234]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100694b3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x10
mov eax, edi
mov edx, dword [ebp - 0x230]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100694d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, edi
mov edx, dword [ebp - 0x220]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100694f5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov eax, edi
mov edx, dword [ebp - 0x224]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10069516
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 1
push dword [ebp - 0x228]
call fcn.100440d0
add esp, 8
test eax, eax
jne 0x100699f2
push ecx
mov esi, esp
mov dword [ebp - 0x230], esp
mov dword [ebp - 0x234], esi
mov eax, dword [ebp - 0x244]
add eax, 0xfffffff0
push eax
call fcn.1000bc60
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x23c]
push eax
mov byte [ebp - 4], 0xb
call fcn.10053400
add esp, 8
mov byte [ebp - 4], 0x19
call fcn.1000d010
mov ecx, eax
test ecx, ecx
je 0x10069c4a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x220]
test ebx, ebx
jne 0x100695aa
mov eax, str.45476F8083D74BA28A2DD8ED399737B7
movzx eax, ax
push eax
call fcn.1000d1d0
jmp 0x100695b6
push 0x20
push str.45476F8083D74BA28A2DD8ED399737B7
call fcn.1000adf0
mov byte [ebp - 4], 0x1b
call fcn.1000d010
mov ecx, eax
test ecx, ecx
je 0x10069c54
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x224], eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x224]
mov esi, dword [ebp - 0x238]
test esi, esi
jne 0x100695fb
mov eax, str.QiXb5iJYRFLvsuupNbtbYfNU0Ne0L_LB
movzx eax, ax
push eax
call fcn.1000d1d0
jmp 0x10069607
push 0x20
push str.QiXb5iJYRFLvsuupNbtbYfNU0Ne0L_LB
call fcn.1000adf0
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.100b5b00
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10055930
add esp, 0x18
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x228]
push eax
call fcn.1000b6e0
mov byte [ebp - 4], 0x1e
mov eax, edi
mov edx, dword [ebp - 0x230]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10069671
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1d
mov eax, edi
mov edx, dword [ebp - 0x234]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10069692
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1b
mov eax, edi
mov edx, dword [ebp - 0x224]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100696b3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x19
mov eax, edi
mov edx, dword [ebp - 0x220]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100696d4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 1
push dword [ebp - 0x228]
call fcn.100440d0
add esp, 8
test eax, eax
jne 0x100699cb
push ecx
mov ecx, esp
mov dword [ebp - 0x230], esp
push dword [ebp - 0x240]
call fcn.1000b130
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x238]
push eax
mov byte [ebp - 4], 0x19
call fcn.10053400
add esp, 8
mov byte [ebp - 4], 0x25
call fcn.1000d010
mov ecx, eax
test ecx, ecx
je 0x10069c5e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x220]
test ebx, ebx
jne 0x10069756
mov eax, str.45476F8083D74BA28A2DD8ED399737B7
movzx eax, ax
push eax
call fcn.1000d1d0
jmp 0x10069762
push 0x20
push str.45476F8083D74BA28A2DD8ED399737B7
call fcn.1000adf0
mov byte [ebp - 4], 0x27
call fcn.1000d010
mov ecx, eax
test ecx, ecx
je 0x10069c68
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x224], eax
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x224]
test esi, esi
jne 0x100697a1
mov eax, str.QiXb5iJYRFLvsuupNbtbYfNU0Ne0L_LB
movzx eax, ax
push eax
call fcn.1000d1d0
jmp 0x100697ad
push 0x20
push str.QiXb5iJYRFLvsuupNbtbYfNU0Ne0L_LB
call fcn.1000adf0
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.100b5b00
mov byte [ebp - 4], 0x2a
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10055930
add esp, 0x18
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x228]
push eax
call fcn.1000b6e0
mov byte [ebp - 4], 0x2a
mov eax, edi
mov edx, dword [ebp - 0x230]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10069817
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x29
mov eax, edi
mov edx, dword [ebp - 0x234]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10069838
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x27
mov eax, edi
mov edx, dword [ebp - 0x224]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10069859
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x25
mov eax, edi
mov edx, dword [ebp - 0x220]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1006987a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 1
push dword [ebp - 0x228]
call fcn.100440d0
add esp, 8
test eax, eax
jne 0x100699aa
push ecx
mov esi, esp
mov dword [ebp - 0x230], esp
mov dword [ebp - 0x234], esi
mov eax, dword [ebp - 0x238]
add eax, 0xfffffff0
push eax
call fcn.1000bc60
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x22c]
push eax
mov byte [ebp - 4], 0x25
call fcn.10053400
add esp, 8
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x220]
push str.45476F8083D74BA28A2DD8ED399737B7
call fcn.1000b130
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x224]
push str.QiXb5iJYRFLvsuupNbtbYfNU0Ne0L_LB
call fcn.1000b130
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.100b5b00
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10055930
add esp, 0x18
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x228]
push eax
call fcn.1000b6e0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x230]
call fcn.1000b560
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x234]
call fcn.1000b560
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x224]
call fcn.1000b560
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x220]
call fcn.1000b560
push 1
push dword [ebp - 0x228]
call fcn.100440d0
add esp, 8
test eax, eax
jne 0x1006999b
lea ecx, [ebp - 0x228]
call fcn.10033d90
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x22c]
call fcn.1000b560
mov byte [ebp - 4], 0x19
mov eax, edi
mov edx, dword [ebp - 0x238]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100699cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov eax, edi
mov edx, dword [ebp - 0x23c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100699ec
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x240]
mov eax, dword [ebp - 0x228]
cmp dword [eax - 0xc], 0
je 0x10069b98
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x230], esp
mov esi, esp
push eax
mov dword [ebp - 0x234], esi
call fcn.1000bc60
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x22c]
push eax
mov byte [ebp - 4], 0xb
call fcn.10053400
mov byte [ebp - 4], 0x3b
add esp, 4
mov esi, esp
mov dword [ebp - 0x234], esp
mov dword [ebp - 0x23c], esi
mov eax, dword [ebp - 0x22c]
add eax, 0xfffffff0
push eax
call fcn.1000bc60
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x230]
push eax
mov byte [ebp - 4], 0x3b
call fcn.10053400
add esp, 8
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x22c]
push eax
call fcn.1000b6e0
mov byte [ebp - 4], 0x3b
mov eax, edi
mov edx, dword [ebp - 0x230]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10069aaa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x10179aa4
lea ecx, [ebp - 0x22c]
call fcn.10012350
push 0x20a
lea eax, [ebp - 0x21c]
push 0
push eax
call fcn.100ec480
mov esi, dword [ebp - 0x240]
add esp, 0xc
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10069ae0
mov eax, dword [ebp - 0x22c]
sub ecx, edx
sar ecx, 1
push ecx
push esi
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRelativePathToW]
test eax, eax
je 0x10069b71
lea edx, [ebp - 0x21c]
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10069b15
sub edx, ecx
lea eax, [ebp - 0x21c]
mov ecx, dword [ebp - 0x248]
sar edx, 1
push edx
push eax
call fcn.1000adf0
mov ecx, dword [ebp - 0x24c]
lea eax, [ebp - 0x228]
push eax
call fcn.1000b6e0
mov byte [ebp - 4], 0xb
mov eax, edi
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10069bb8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, 1
jmp 0x10069bc1
mov byte [ebp - 4], 0xb
mov eax, edi
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10069b92
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x228]
cmp dword [ebp + 0x14], 0
je 0x10069bbf
push dword [ebp - 0x248]
push dword [ebp - 0x24c]
push esi
push eax
call fcn.10064de0
add esp, 0x10
test eax, eax
je 0x10069bbf
mov esi, 1
jmp 0x10069bc1
xor esi, esi
mov byte [ebp - 4], 0
mov eax, edi
mov edx, dword [ebp - 0x228]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10069be2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x244]
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], edi
dec edi
test edi, edi
jg 0x10069c04
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100b4568
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.10007270
push 0x80004005
call fcn.10007270
push 0x80004005
call fcn.10007270
push 0x80004005
call fcn.10007270
push 0x80004005
call fcn.10007270
push 0x80004005
call fcn.10007270
push 0x80004005
call fcn.10007270
push 0x80004005
call fcn.10007270
int3