Function at 0x10021d10
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x10023b88
mov eax, dword fs:[0]
push eax
sub esp, 0x130
mov eax, dword [0x1002c150]
xor eax, esp
mov dword [esp + 0x12c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1002c150]
xor eax, esp
push eax
lea eax, [esp + 0x144]
mov dword fs:[0], eax
mov byte [esp + 0x17], 0
xor eax, eax
mov cl, byte [eax*4 + str.SOFTWAREMicrosoftWindowsCurrentVersion]
mov byte [eax + 0x1002cfa8], cl
inc eax
cmp eax, 0xc8
jl 0x10021d52
xor eax, eax
lea esp, [esp]
mov dl, byte [eax*4 + str.SOFTWAREMicrosoftWindows_NTCurrentVersion]
mov byte [eax + 0x1002d070], dl
inc eax
cmp eax, 0xc8
jl 0x10021d70
xor eax, eax
jmp 0x10021d90
mov cl, byte [eax*4 + str.HARDWAREDESCRIPTIONSystemBIOS]
mov byte [eax + 0x1002d390], cl
inc eax
cmp eax, 0xc8
jl 0x10021d90
xor eax, eax
jmp 0x10021db0
mov dl, byte [eax*4 + str.ProductId]
mov byte [eax + 0x1002d138], dl
inc eax
cmp eax, 0xc8
jl 0x10021db0
mov edi, 0x72
mov edx, 0x64
mov esi, 0x65
mov dword [0x1002d864], edi
mov dword [0x1002d860], 0x6f
mov dword [0x1002d85c], edx
mov dword [0x1002d858], 0x6e
mov dword [0x1002d854], esi
mov dword [0x1002d850], 0x56
mov dword [0x1002d84c], 0x53
mov dword [0x1002d848], 0x4f
mov dword [0x1002d844], 0x49
mov dword [0x1002d840], 0x42
xor eax, eax
mov edi, edi
mov cl, byte [eax*4 + 0x1002d840]
mov byte [eax + 0x1002db60], cl
inc eax
cmp eax, 0xc8
jl 0x10021e30
mov eax, 0x6c
mov dword [0x1002d474], eax
mov dword [0x1002d46c], eax
mov dword [0x1002d468], eax
mov eax, 0x61
mov dword [0x1002d464], eax
mov dword [0x1002d45c], eax
mov dword [0x1002d478], 0x73
mov dword [0x1002d470], esi
mov dword [0x1002d460], edi
mov dword [0x1002d458], 0x50
xor eax, eax
lea ebx, [ebx]
mov cl, byte [eax*4 + 0x1002d458]
mov byte [eax + 0x1002d778], cl
inc eax
cmp eax, 0xc8
jl 0x10021e90
mov al, 0x33
mov bl, 0x32
mov cl, 0x36
mov byte [esp + 0xef], al
mov byte [esp + 0xe2], al
mov byte [esp + 0xd6], al
mov byte [esp + 0xe8], al
mov byte [esp + 0xe6], al
mov byte [esp + 0xdf], 0x31
mov byte [esp + 0xdd], al
mov byte [esp + 0xe4], al
mov byte [esp + 0xd5], cl
mov byte [esp + 0xf5], 0x30
mov byte [esp + 0xeb], dl
mov byte [esp + 0xe3], 0x37
mov byte [esp + 0xe0], al
mov byte [esp + 0xdb], dl
mov byte [esp + 0xed], bl
mov byte [esp + 0xe7], al
mov byte [esp + 0xd8], al
mov byte [esp + 0xd9], 0x34
mov byte [esp + 0xe5], 0x30
mov byte [esp + 0xf0], al
mov byte [esp + 0xe9], 0x37
mov byte [esp + 0xda], bl
mov byte [esp + 0xde], al
mov byte [esp + 0xd7], 0x34
mov byte [esp + 0xe1], 0x37
mov byte [esp + 0xea], bl
mov byte [esp + 0xf1], 0x35
mov byte [esp + 0xf2], al
mov byte [esp + 0xf6], 0
mov byte [esp + 0xdc], al
mov byte [esp + 0xf4], al
mov byte [esp + 0xd4], al
mov byte [esp + 0xf3], 0x31
mov byte [esp + 0xee], al
mov byte [esp + 0xec], al
mov byte [esp + 0x10c], al
mov byte [esp + 0x100], al
mov byte [esp + 0xfc], al
mov byte [esp + 0x106], al
mov byte [esp + 0x11a], 0
mov byte [esp + 0xfe], bl
mov byte [esp + 0x104], al
mov byte [esp + 0x10d], 0x35
mov byte [esp + 0xfa], al
mov byte [esp + 0x118], al
mov byte [esp + 0x101], 0x38
mov byte [esp + 0x115], cl
mov byte [esp + 0x10e], bl
mov byte [esp + 0x10a], al
mov byte [esp + 0x102], al
mov byte [esp + 0x108], al
mov byte [esp + 0x10f], dl
mov byte [esp + 0x110], al
mov byte [esp + 0x113], bl
mov byte [esp + 0x109], 0x39
mov byte [esp + 0xf8], al
mov byte [esp + 0x111], bl
mov byte [esp + 0x10b], 0x35
mov byte [esp + 0x119], 0x34
mov byte [esp + 0x103], 0x34
mov byte [esp + 0x112], al
mov byte [esp + 0xfd], 0x37
mov byte [esp + 0xff], dl
mov byte [esp + 0xf9], al
mov byte [esp + 0x117], 0x31
mov byte [esp + 0x114], al
mov byte [esp + 0xfb], al
mov byte [esp + 0x107], 0x39
mov byte [esp + 0x116], al
mov byte [esp + 0x105], bl
mov byte [esp + 0x13e], 0
mov byte [esp + 0x11f], 0x34
mov byte [esp + 0x12e], al
mov byte [esp + 0x129], 0x37
mov byte [esp + 0x138], al
mov byte [esp + 0x13d], 0x30
mov byte [esp + 0x124], al
mov byte [esp + 0x120], al
mov byte [esp + 0x127], cl
mov byte [esp + 0x11d], cl
mov byte [esp + 0x12f], cl
mov byte [esp + 0xc4], cl
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x14d], 0x34
mov byte [esp + 0x14f], dl
mov byte [esp + 0x144], al
mov byte [esp + 0x13d], 0x30
mov byte [esp + 0x156], al
mov byte [esp + 0x153], al
mov byte [esp + 0x138], al
mov byte [esp + 0x141], bl
mov byte [esp + 0x148], al
mov byte [esp + 0x13e], bl
mov byte [esp + 0x151], bl
mov byte [esp + 0x150], al
mov byte [esp + 0x142], al
mov byte [esp + 0x147], al
mov byte [esp + 0x14c], al
mov byte [esp + 0x14e], bl
mov byte [esp + 0x146], al
mov byte [esp + 0x157], 0x35
mov byte [esp + 0x155], 0x39
mov byte [esp + 0x13a], al
mov byte [esp + 0x152], al
mov byte [esp + 0x149], 0x30
mov byte [esp + 0x158], al
mov byte [esp + 0x13f], dl
mov byte [esp + 0xe1], 0x34
mov byte [esp + 0xe3], 0x37
mov byte [esp + 0xe2], 0x38
mov byte [esp + 0xe5], 0
mov byte [esp + 0xe4], 0x2d
mov ebp, 0xf
lea esi, [esp + 0xf0]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], 0
mov dword [esp + 0x34], esp
mov byte [ecx + 4], 0
lea edi, [esi + 1]
lea ecx, [ecx]
mov al, byte [esi]
inc esi
test al, al
jne 0x10022200
sub esi, edi
push esi
lea edx, [esp + 0xf4]
push edx
call fcn.10003740
lea eax, [esp + 0x8c]
push eax
call fcn.10020210
push eax
lea ecx, [esp + 0xe8]
push ecx
lea edx, [esp + 0x7c]
push edx
mov dword [esp + 0x178], 0
call fcn.10004100
add esp, 0x2c
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0x14c], 2
jb 0x10022264
mov eax, dword [esp + 0x74]
push eax
call fcn.10006e74
add esp, 4
xor edi, edi
sub esp, 0x1c
mov esi, esp
lea eax, [esp + 0x114]
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], edi
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa0], edi
mov byte [esp + 0x90], 0
mov dword [esp + 0x34], esp
mov byte [esi + 4], 0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100222a0
sub eax, edx
push eax
lea ecx, [esp + 0x118]
push ecx
mov ecx, esi
call fcn.10003740
lea edx, [esp + 0x38]
push edx
call fcn.10020210
push eax
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0xd0]
push ecx
mov byte [esp + 0x178], 3
call fcn.10004100
add esp, 0x2c
cmp dword [esp + 0x34], 0x10
mov byte [esp + 0x14c], 5
jb 0x10022300
mov edx, dword [esp + 0x20]
push edx
call fcn.10006e74
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0xeb], 0x34
mov byte [esp + 0xed], 0
mov byte [esp + 0xe8], 0x35
mov byte [esp + 0xe9], bl
mov byte [esp + 0xec], 0x2d
mov byte [esp + 0xea], 0x37
lea eax, [esp + 0x138]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], edi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], edi
mov byte [esp + 0x3c], 0
mov dword [esp + 0x34], esp
mov byte [ecx + 4], 0
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10022360
sub eax, esi
push eax
lea eax, [esp + 0x13c]
push eax
call fcn.10003740
lea ecx, [esp + 0x54]
push ecx
call fcn.10020210
push eax
lea edx, [esp + 0xf0]
push edx
lea eax, [esp + 0xb4]
push eax
mov byte [esp + 0x178], 6
call fcn.10004100
add esp, 0x2c
cmp dword [esp + 0x50], 0x10
mov bl, 8
mov byte [esp + 0x14c], bl
jb 0x100223bf
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.10006e74
add esp, 4
push 0x1002ce18
push 0x1002d138
push 0x1002cfa8
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], edi
mov byte [esp + 0x48], 0
call fcn.100241d0
add esp, 0xc
test al, al
je 0x10022539
cmp byte [0x1002ce18], 0x37
jne 0x1002250a
lea eax, [esp + 0xc4]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], edi
mov byte [esp + 0x74], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10022415
sub eax, edx
push eax
lea edx, [esp + 0xc8]
push edx
lea ecx, [esp + 0x78]
call fcn.10003740
sub esp, 0x1c
mov ecx, esp
lea eax, [esp + 0xf0]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], edi
mov byte [esp + 0x168], 9
mov dword [esp + 0x34], esp
mov byte [ecx + 4], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10022455
sub eax, esi
push eax
lea eax, [esp + 0xf4]
push eax
call fcn.10003740
lea ecx, [esp + 0x38]
push ecx
call fcn.10020210
add esp, 0x20
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0x158], 0xa
call fcn.10003450
cmp dword [esp + 0x34], 0x10
jb 0x100224a2
mov edx, dword [esp + 0x20]
push edx
call fcn.10006e74
add esp, 4
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x74]
mov eax, edi
cmp esi, 0x10
jae 0x100224b8
lea eax, [esp + 0x74]
push eax
push 0x1002ce19
call fcn.1001f2a0
add esp, 8
test eax, eax
jne 0x100224cf
mov byte [esp + 0x17], 1
cmp dword [esp + 0x6c], 0x10
mov eax, dword [esp + 0x58]
jae 0x100224de
lea eax, [esp + 0x58]
push eax
push 0x1002ce19
call fcn.1001f2a0
add esp, 8
test eax, eax
jne 0x100224f5
mov byte [esp + 0x17], 1
mov byte [esp + 0x14c], bl
cmp esi, 0x10
jb 0x1002250a
push edi
call fcn.10006e74
add esp, 4
cmp byte [0x1002ce18], 0x35
jne 0x10022539
cmp dword [esp + 0x6c], 0x10
mov eax, dword [esp + 0x58]
jae 0x10022522
lea eax, [esp + 0x58]
push eax
push 0x1002ce19
call fcn.1001f2a0
add esp, 8
test eax, eax
jne 0x10022539
mov byte [esp + 0x17], 1
push 0x1002ce18
push 0x1002d138
push 0x1002d070
call fcn.100241d0
add esp, 0xc
test al, al
je 0x100225b8
mov al, byte [0x1002ce18]
cmp al, 0x37
jne 0x1002258e
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x58]
mov eax, edi
cmp esi, 0x10
jae 0x10022570
lea eax, [esp + 0x58]
push eax
push 0x1002ce19
call fcn.1001f2a0
add esp, 8
test eax, eax
jne 0x10022587
mov byte [esp + 0x17], 1
cmp esi, 0x10
mov eax, edi
jmp 0x1002259b
cmp al, 0x35
jne 0x100225b8
cmp dword [esp + 0x6c], 0x10
mov eax, dword [esp + 0x58]
jae 0x100225a1
lea eax, [esp + 0x58]
push eax
push 0x1002ce19
call fcn.1001f2a0
add esp, 8
test eax, eax
jne 0x100225b8
mov byte [esp + 0x17], 1
push 0x1002ce18
push 0x1002db60
push 0x1002d390
call fcn.100241d0
add esp, 0xc
test al, al
je 0x10022621
push 9
push 0x1002d778
push 0x1002ce18
call fcn.1001fe60
add esp, 0xc
test eax, eax
jne 0x100225f0
mov byte [esp + 0x17], 1
push 3
lea eax, [esp + 0x1c]
push eax
push 0x1002ce18
mov byte [esp + 0x24], 0x58
mov byte [esp + 0x25], 0x65
mov byte [esp + 0x27], 0
mov byte [esp + 0x26], 0x6e
call fcn.1001fe60
add esp, 0xc
test eax, eax
jne 0x10022621
mov byte [esp + 0x17], 1
mov esi, 0x10
cmp dword [esp + 0xa4], esi
jb 0x1002263f
mov ecx, dword [esp + 0x90]
push ecx
call fcn.10006e74
add esp, 4
xor edi, edi
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa0], edi
mov byte [esp + 0x90], 0
cmp dword [esp + 0xc0], esi
jb 0x10022670
mov edx, dword [esp + 0xac]
push edx
call fcn.10006e74
add esp, 4
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xbc], edi
mov byte [esp + 0xac], 0
cmp dword [esp + 0x6c], esi
jb 0x10022699
mov eax, dword [esp + 0x58]
push eax
call fcn.10006e74
add esp, 4
mov al, byte [esp + 0x17]
mov ecx, dword [esp + 0x144]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x12c]
xor ecx, esp
call fcn.100079bb
add esp, 0x13c
ret