Function at 0x4376a0
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1d0
lea eax, [esp + 0x130]
lea ecx, [0x444c1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x2c
call fcn.00408ff0
lea eax, [esp + 0x130]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xec]
add eax, 0x2c
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x108]
setne al
test al, 1
jne 0x43771b
jmp 0x43770e
mov dword [esp + 0x1c], 2
jmp 0x437ac7
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x104], eax
mov al, byte [esp + 0x4c]
mov byte [esp + 0x50], al
mov dword [esp + 0x2c], 0x30
lea eax, [esp + 0x30]
mov dword [esp + 0x12c], eax
movzx eax, byte [esp + 0x2c]
add eax, 0x31
xor eax, 7
mov byte [esp + 0x30], al
movzx eax, byte [esp + 0x2d]
add eax, 0x31
xor eax, 8
mov byte [esp + 0x31], al
movzx eax, byte [esp + 0x2e]
add eax, 0x31
xor eax, 9
mov byte [esp + 0x32], al
movzx eax, byte [esp + 0x2f]
add eax, 0x31
xor eax, 0xa
mov byte [esp + 0x33], al
mov eax, 4
mov byte [esp + eax + 0x30], 0
add eax, 1
cmp eax, 8
jne 0x437784
xor esi, esi
cmp esi, 8
jae 0x4378f1
call fcn.00409910
call fcn.00409910
movzx ecx, byte [esp + esi + 0x30]
mov dword [esp + 0xe0], ecx
mov eax, esi
add eax, 0xaddbd07
mov dword [esp + 0xdc], eax
mov eax, ecx
not eax
mov edi, eax
and edi, 0xc14dc7b3
mov edx, ecx
and edx, 0x4c
or edi, edx
xor edi, 0x3eb2384c
mov edx, edi
and edx, 0x8d3f86e0
mov dword [esp + 0x38], esi
and ecx, 0x1f
mov dword [esp + 0xfc], ecx
mov ebx, eax
and ebx, 0x91d02e0
mov ecx, eax
or ecx, 0x72c0791f
mov esi, dword [esp + 0xe0]
lea ecx, [esi + ecx + 1]
add edx, dword [esp + 0xfc]
and ecx, 0x7bdd7bff
or ebx, ecx
xor edx, ebx
or edi, eax
not edi
or edx, edi
mov esi, 0xf52242f8
sub esi, dword [esp + 0x38]
mov edi, dword [esp + 0xdc]
mov eax, edi
and eax, 0xfffffffd
mov ecx, esi
and ecx, 2
imul ecx, eax
mov eax, edi
and eax, 2
or edi, 2
imul edi, eax
add edi, ecx
neg edi
mov eax, dword [esp + 0x38]
lea ecx, [eax + edi + 0xaddbd06]
mov eax, esi
and eax, ecx
xor edx, 0x7bdd7bff
mov ecx, eax
and ecx, 2
mov ebx, ecx
xor ebx, 2
mov edi, eax
and edi, 0xfffffffd
imul edi, ebx
mov ebx, eax
or ebx, 2
imul ebx, ecx
add ebx, edi
mov ecx, ebx
not ecx
mov edi, eax
add edi, ecx
sub ebx, eax
and ebx, 0x68ef5150
and edi, 0x9710aeaf
or ebx, edi
mov eax, ebx
xor eax, 0x68ef5150
mov ecx, edx
and ecx, eax
xor ebx, edx
xor ebx, 0x9710aeaf
add edx, ebx
sub edx, ecx
mov eax, edx
add eax, eax
not eax
add edx, eax
mov ecx, dword [esp + 0xe0]
and esi, ecx
mov eax, dword [esp + 0xdc]
xor eax, ecx
add eax, ecx
not eax
add esi, eax
or edx, esi
mov esi, dword [esp + 0x38]
not edx
mov dword [esp + 0x10c], edx
mov eax, dword [esp + 0x10c]
add al, 0xcf
mov byte [esp + esi + 0x30], al
add esi, 1
jmp 0x437793
call fcn.00409910
call fcn.00409910
call fcn.00409910
call fcn.00409910
call fcn.00409910
call fcn.00409910
mov eax, dword [esp + 0x30]
mov eax, dword fs:[eax]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xe8]
mov ecx, dword [ecx + 0xc]
add ecx, 0xc
cmp eax, ecx
jne 0x437950
mov dword [esp + 0x1c], 4
jmp 0x437a88
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x30]
xor eax, eax
cmp ecx, 0
je 0x437a4d
mov al, byte [esp + 0x48]
mov byte [esp + 0x54], al
mov byte [esp + 0x118], 0x4c
mov byte [esp + 0x119], 0x44
mov byte [esp + 0x11a], 0x8c
mov byte [esp + 0x11b], 0x4b
mov eax, 4
mov byte [esp + eax + 0x118], 0
add eax, 1
cmp eax, 0xe
jne 0x43799d
lea eax, [esp + 0x118]
mov dword [esp + 0xf0], eax
xor eax, eax
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x5c]
cmp ecx, 0xe
jae 0x437a22
mov eax, dword [esp + 0xf0]
movzx edx, byte [eax + ecx]
mov esi, ecx
add esi, 0x7fea8a73
mov edi, 0x8c
sub edi, ecx
xor edi, esi
and edi, edx
xor edi, esi
mov dword [esp + 0x110], edi
mov edx, dword [esp + 0x110]
mov ecx, edx
add ecx, 0x64
mov esi, 0x1b
sub esi, edx
and esi, 0x25
and ecx, 0xda
sub ecx, esi
add cl, 0x9c
mov edx, dword [esp + 0x5c]
mov byte [eax + edx], cl
mov eax, dword [esp + 0x5c]
add eax, 1
jmp 0x4379bd
mov eax, dword [esp + 0xf0]
mov eax, dword [eax]
mov ecx, dword [esp + 0xe4]
mov ecx, dword [ecx + 0x30]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437fe0
cmp eax, dword [esp + 0x104]
sete al
jmp 0x437a4d
test al, 1
jne 0x437a53
jmp 0x437a62
mov byte [esp + 0x23], 1
mov dword [esp + 0x1c], 1
jmp 0x437a6c
mov dword [esp + 0x1c], 0
jmp 0x437a6c
mov eax, dword [esp + 0x1c]
cmp eax, 0
jne 0x437a86
jmp 0x437a77
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
jmp 0x43792e
jmp 0x437a88
cmp dword [esp + 0x1c], 4
jne 0x437a9b
mov dword [esp + 0x1c], 0
jmp 0x437a99
jmp 0x437a9b
mov eax, dword [esp + 0x1c]
cmp eax, 0
jne 0x437aac
mov dword [esp + 0x1c], 0
cmp dword [esp + 0x1c], 0
jne 0x437ac5
jmp 0x437ab5
mov eax, dword [esp + 0x28]
add eax, 4
mov dword [esp + 0x28], eax
jmp 0x4376fa
jmp 0x437ac7
cmp dword [esp + 0x1c], 2
jne 0x437fc5
mov al, byte [esp + 0x44]
mov byte [esp + 0x58], al
mov byte [esp + 0x60], 0x61
mov byte [esp + 0x61], 0xd
mov byte [esp + 0x62], 0x57
mov byte [esp + 0x63], 0xb
mov byte [esp + 0x64], 0xb7
mov byte [esp + 0x65], 9
mov byte [esp + 0x66], 0xbb
mov byte [esp + 0x67], 0x17
mov byte [esp + 0x68], 0xaa
mov byte [esp + 0x69], 0x15
mov byte [esp + 0x6a], 0x42
mov byte [esp + 0x6b], 0x13
mov byte [esp + 0x6c], 0xae
mov byte [esp + 0x6d], 0x11
mov byte [esp + 0x6e], 0xad
mov byte [esp + 0x6f], 0x1f
mov byte [esp + 0x70], 0xb6
mov byte [esp + 0x71], 0x1d
mov byte [esp + 0x72], 0xb3
mov byte [esp + 0x73], 0x1b
mov byte [esp + 0x74], 0xac
mov byte [esp + 0x75], 0x19
mov byte [esp + 0x76], 0xcb
mov byte [esp + 0x77], 0x67
mov byte [esp + 0x78], 9
mov byte [esp + 0x79], 0x65
mov byte [esp + 0x7a], 0xc6
mov byte [esp + 0x7b], 0x63
mov byte [esp + 0x7c], 0x2c
mov byte [esp + 0x7d], 0x61
mov byte [esp + 0x7e], 0xdd
mov byte [esp + 0x7f], 0x6f
mov byte [esp + 0x80], 0xc3
mov byte [esp + 0x81], 0x6d
mov byte [esp + 0x82], 0xd7
mov byte [esp + 0x83], 0x6b
mov byte [esp + 0x84], 0xdd
mov byte [esp + 0x85], 0x69
mov byte [esp + 0x86], 0xdb
mov byte [esp + 0x87], 0x77
mov byte [esp + 0x88], 0xc6
mov byte [esp + 0x89], 0x75
mov byte [esp + 0x8a], 0xce
mov byte [esp + 0x8b], 0x73
mov byte [esp + 0x8c], 0xcf
mov byte [esp + 0x8d], 0x71
mov byte [esp + 0x8e], 0xda
mov byte [esp + 0x8f], 0x7f
mov byte [esp + 0x90], 0x2f
mov byte [esp + 0x91], 0x7d
mov byte [esp + 0x92], 0xc7
mov byte [esp + 0x93], 0x7b
mov byte [esp + 0x94], 0xc4
mov byte [esp + 0x95], 0x79
mov byte [esp + 0x96], 0xf2
mov byte [esp + 0x97], 0x47
mov byte [esp + 0x98], 0xf7
mov byte [esp + 0x99], 0x45
mov byte [esp + 0x9a], 0xf1
mov byte [esp + 0x9b], 0x43
mov byte [esp + 0x9c], 0xf7
mov byte [esp + 0x9d], 0x41
mov byte [esp + 0x9e], 0x2e
mov byte [esp + 0x9f], 0x4f
mov byte [esp + 0xa0], 6
mov byte [esp + 0xa1], 0x4d
mov byte [esp + 0xa2], 0xe3
mov byte [esp + 0xa3], 0x4b
mov byte [esp + 0xa4], 0xfc
mov byte [esp + 0xa5], 0x49
mov byte [esp + 0xa6], 0xfb
mov byte [esp + 0xa7], 0x57
mov byte [esp + 0xa8], 0xeb
mov byte [esp + 0xa9], 0x55
mov byte [esp + 0xaa], 0xf6
mov byte [esp + 0xab], 0x53
mov byte [esp + 0xac], 0xf8
mov byte [esp + 0xad], 0x51
mov byte [esp + 0xae], 0xed
mov byte [esp + 0xaf], 0x5f
mov byte [esp + 0xb0], 0xee
mov byte [esp + 0xb1], 0x5d
mov byte [esp + 0xb2], 0xf7
mov byte [esp + 0xb3], 0x5b
mov byte [esp + 0xb4], 0xe1
mov byte [esp + 0xb5], 0x59
mov byte [esp + 0xb6], 0xe6
mov byte [esp + 0xb7], 0xa7
mov byte [esp + 0xb8], 0x14
mov byte [esp + 0xb9], 0xa5
mov byte [esp + 0xba], 0x11
mov byte [esp + 0xbb], 0xa3
mov byte [esp + 0xbc], 0x1c
mov byte [esp + 0xbd], 0xa1
mov byte [esp + 0xbe], 0xdc
mov byte [esp + 0xbf], 0xaf
mov byte [esp + 0xc0], 3
mov byte [esp + 0xc1], 0xad
mov byte [esp + 0xc2], 0x19
mov byte [esp + 0xc3], 0xab
mov byte [esp + 0xc4], 0x1d
mov byte [esp + 0xc5], 0xa9
mov byte [esp + 0xc6], 0xc4
mov byte [esp + 0xc7], 0xb7
mov byte [esp + 0xc8], 4
mov byte [esp + 0xc9], 0xb5
mov byte [esp + 0xca], 0xd
mov byte [esp + 0xcb], 0xb3
mov byte [esp + 0xcc], 0xc
mov byte [esp + 0xcd], 0xb1
mov byte [esp + 0xce], 0xbe
mov byte [esp + 0xcf], 0xbf
mov eax, 0x70
mov byte [esp + eax + 0x60], 0
add eax, 1
cmp eax, 0x73
jne 0x437dff
lea eax, [esp + 0x60]
mov dword [esp + 0xf8], eax
xor ecx, ecx
mov dword [esp + 0xf4], ecx
cmp ecx, 0x73
jae 0x437e6f
mov eax, dword [esp + 0xf8]
movzx edx, byte [eax + ecx]
add ecx, 0x4a58a8aa
xor ecx, edx
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x114]
mov edx, ecx
and edx, 0x59
xor edx, 0x59
and ecx, 0xa6
sub ecx, edx
add cl, 0xb3
mov edx, dword [esp + 0xf4]
mov byte [eax + edx], cl
mov ecx, dword [esp + 0xf4]
add ecx, 1
jmp 0x437e19
mov edx, dword [esp + 0xf8]
lea eax, [esp + 0x15c]
mov edi, eax
mov ecx, 0x1c
mov esi, edx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add eax, 0x70
add edx, 0x70
mov esi, edx
mov edi, eax
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
xor ecx, ecx
cmp ecx, 0
je 0x437ebd
add ecx, 0xffffffff
mov esi, edx
add esi, 1
mov dl, byte [edx]
mov edi, eax
add edi, 1
mov byte [eax], dl
mov eax, edi
mov edx, esi
jmp 0x437ea1
mov eax, dword [0x44d624]
lea ecx, [esp + 0x15c]
xor edx, edx
lea edx, [esp + 0x40]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x37
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
call eax
sub esp, 0x18
mov eax, dword [esp + 0x40]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x437f15
mov ecx, eax
mov dword [esp], ecx
call fcn.00408fc0
mov dword [esp + 0x3c], eax
mov eax, dword [0x44d624]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea esi, [esp + 0x15c]
xor edi, edi
lea edi, [esp + 0x40]
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], 0x37
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
call eax
sub esp, 0x18
mov byte [esp + 0x22], 0
mov eax, dword [esp + 0x3c]
jmp 0x437f6a
lea ecx, [esp + 0x100]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004409b0
cmp eax, 0
jl 0x437f98
mov eax, dword [esp + 0x100]
and eax, 0x80
cmp eax, 0
je 0x437f98
mov byte [esp + 0x22], 1
mov eax, dword [esp + 0x3c]
cmp eax, 0
sete cl
test cl, 1
jne 0x437fb3
jmp 0x437fa9
mov dword [esp], eax
call fcn.00408fd0
jmp 0x437fb3
mov al, byte [esp + 0x22]
and al, 1
mov byte [esp + 0x23], al
mov dword [esp + 0x1c], 1
mov al, byte [esp + 0x23]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret