Function at 0x10040180
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
sub esp, 0x24
mov dword [esp], 0x616f7f6c
xor ecx, ecx
mov dword [esp + 4], 0x504d525e
mov dword [esp + 8], 0x4e596744
mov word [esp + 0xc], 0x54
mov byte [esp + 0xe], 1
lea eax, [ecx + 0x2e]
xor byte [esp + ecx], al
inc ecx
cmp ecx, 0xd
jb 0x100401a8
lea edx, [esp]
mov byte [esp + 0xe], 0
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100401c0
push ebx
mov ebx, dword [esp + 0x3c]
lea eax, [esp + 4]
push ebp
mov ebp, dword [esp + 0x44]
sub edx, ecx
push edi
mov edi, dword [esp + 0x34]
lea ecx, [esp + 0x34]
push edx
cmp ebp, 0x10
mov edx, ebx
push eax
cmovae ecx, edi
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [str.CQHWAw_WEYZNN]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov byte [esp + 0x1c], 1
nop
lea eax, [ecx + 0x2e]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0xf
jb 0x10040210
lea edx, [esp + 0xc]
mov byte [esp + 0x1c], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040230
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025c990]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov word [esp + 0x1c], 0x4c
mov byte [esp + 0x1e], 1
lea eax, [ecx + 0x2e]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x11
jb 0x10040277
lea edx, [esp + 0xc]
mov byte [esp + 0x1e], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040290
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025cda0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x1007c61
lea eax, [ecx + 0x2e]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x12
jb 0x100402d3
lea edx, [esp + 0xc]
mov byte [esp + 0x1f], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100402f0
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025b8b0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov byte [esp + 0x1c], 1
lea eax, [ecx + 0x2e]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0xf
jb 0x10040330
lea edx, [esp + 0xc]
mov byte [esp + 0x1c], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040350
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025c470]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x21f5a50
mov word [esp + 0x20], 0x100
nop word [eax + eax]
lea eax, [ecx + 0x2e]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x14
jb 0x100403a0
lea edx, [esp + 0xc]
mov byte [esp + 0x21], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100403c0
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [str._b5__9_]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x2c], 0x1003a27
movaps xmm0, xmmword [0x1025bad0]
movups xmmword [esp + 0x1c], xmm0
nop
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x22
jb 0x10040410
lea edx, [esp + 0xc]
mov byte [esp + 0x2f], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040430
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025cbb0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x2c357761
mov dword [esp + 0x20], 0x61b2d23
mov word [esp + 0x24], 0x100
lea eax, [ecx + 0x2e]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x18
jb 0x10040482
lea edx, [esp + 0xc]
mov byte [esp + 0x25], 0
lea ecx, [edx + 1]
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100404a0
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025b9e0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0xe030b05
mov dword [esp + 0x20], 0xa1d0c2e
mov dword [esp + 0x24], 0x100322f
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1a
jb 0x100404f3
lea edx, [esp + 0xc]
mov byte [esp + 0x27], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040510
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025ce30]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x11146073
mov dword [esp + 0x20], 0x71c12
mov byte [esp + 0x24], 1
lea eax, [ecx + 0x2e]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x17
jb 0x10040560
lea edx, [esp + 0xc]
mov byte [esp + 0x24], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040580
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025cda0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x352f7d61
mov dword [esp + 0x20], 0x100001d
nop dword [eax + eax]
lea eax, [ecx + 0x2e]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x16
jb 0x100405d0
lea edx, [esp + 0xc]
mov byte [esp + 0x23], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100405f0
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025baf0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov byte [esp + 0x2c], 1
movaps xmm0, xmmword [str._re58]
movups xmmword [esp + 0x1c], xmm0
nop dword [eax]
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1f
jb 0x10040640
lea edx, [esp + 0xc]
mov byte [esp + 0x2c], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040660
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025b990]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x222b361a
mov dword [esp + 0x20], 0x1190c3c
mov dword [esp + 0x24], 0x100322f
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1a
jb 0x100406b3
lea edx, [esp + 0xc]
mov byte [esp + 0x27], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100406d0
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025cde0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x1007c61
lea eax, [ecx + 0x2e]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x12
jb 0x10040713
lea edx, [esp + 0xc]
mov byte [esp + 0x1f], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040730
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025caa0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x1e39495f
mov word [esp + 0x20], 1
mov byte [esp + 0x22], 1
nop
lea eax, [ecx + 0x2e]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x15
jb 0x10040780
lea edx, [esp + 0xc]
mov byte [esp + 0x22], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100407a0
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [str._b5__9_]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x1d0f3b37
mov dword [esp + 0x20], 0xa090309
mov dword [esp + 0x24], 0x312e02
mov byte [esp + 0x28], 1
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1b
jb 0x100407f8
lea edx, [esp + 0xc]
mov byte [esp + 0x28], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040811
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [str._b5__9_]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov byte [esp + 0x2c], 1
movaps xmm0, xmmword [0x1025b560]
movups xmmword [esp + 0x1c], xmm0
nop dword [eax]
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1f
jb 0x10040860
lea edx, [esp + 0xc]
mov byte [esp + 0x2c], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040880
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [str._b5__9_]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x5032237
mov dword [esp + 0x20], 0x201370b
mov dword [esp + 0x24], 0x2c171812
mov word [esp + 0x28], 0x37
mov byte [esp + 0x2a], 1
nop
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1d
jb 0x100408e0
lea edx, [esp + 0xc]
mov byte [esp + 0x2a], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040900
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025baf0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x3b351b0d
mov dword [esp + 0x20], 0x2e000c00
mov dword [esp + 0x24], 0x100322f
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1a
jb 0x10040953
lea edx, [esp + 0xc]
mov byte [esp + 0x27], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040970
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025baf0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x3b351b0d
mov dword [esp + 0x20], 0x37000c00
mov dword [esp + 0x24], 0x100322f
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1a
jb 0x100409c3
lea edx, [esp + 0xc]
mov byte [esp + 0x27], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100409e0
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [str._b5_5]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0xe1e0a09
mov dword [esp + 0x20], 0x262f321e
mov dword [esp + 0x24], 0x52322f
mov byte [esp + 0x28], 1
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1b
jb 0x10040a38
lea edx, [esp + 0xc]
mov byte [esp + 0x28], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040a51
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025bc70]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x120d2c37
mov dword [esp + 0x20], 0x305c191c
mov dword [esp + 0x24], 0x1005133
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1a
jb 0x10040aa4
lea edx, [esp + 0xc]
mov byte [esp + 0x27], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040ac0
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025baf0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov byte [esp + 0x2c], 1
movaps xmm0, xmmword [str._re5_]
movups xmmword [esp + 0x1c], xmm0
nop dword [eax]
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1f
jb 0x10040b10
lea edx, [esp + 0xc]
mov byte [esp + 0x2c], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040b30
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025bc90]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0xe19082a
mov dword [esp + 0x20], 0x1190c3c
mov dword [esp + 0x24], 0x100322f
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1a
jb 0x10040b83
lea edx, [esp + 0xc]
mov byte [esp + 0x27], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10040ba0
sub edx, ecx
lea eax, [esp + 0xc]
push edx
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push eax
cmovae ecx, edi
mov edx, ebx
push ecx
call fcn.1004e6b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10040c3e
movaps xmm0, xmmword [0x1025baf0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x2e351b0d
mov dword [esp + 0x20], 0x1b1e140b
mov dword [esp + 0x24], 0x1005142
lea eax, [ecx + 0x58]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x1a
jb 0x10040bf3
push esi
lea esi, [esp + 0x10]
mov byte [esp + 0x2b], 0
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10040c10
sub esi, ecx
lea eax, [esp + 0x10]
cmp ebp, 0x10
lea ecx, [esp + 0x38]
push esi
cmovae ecx, edi
mov edx, ebx
push eax
push ecx
call fcn.1004e6b0
add esp, 0xc
pop esi
cmp eax, 0xffffffff
jne 0x10040c3e
xor bl, bl
jmp 0x10040c40
mov bl, 1
cmp ebp, 0x10
jb 0x10040c72
lea ecx, [ebp + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x10040c68
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10040c68
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edi
call fcn.100e876a
add esp, 8
pop edi
pop ebp
mov al, bl
pop ebx
add esp, 0x24
ret