Function at 0x4322e0
Capabilities:
Check os version
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e6195
mov eax, dword fs:[0]
push eax
sub esp, 0x2f8
mov eax, dword [0x672014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x11c
lea eax, [ebp - 0x19c]
push 0
push eax
call fcn.005ba0f0
add esp, 0xc
mov dword [ebp - 0x19c], 0x11c
lea eax, [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x432cdf
cmp dword [ebp - 0x198], 6
jb 0x432393
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x1a4]
lea ecx, [ebp - 0x1a0]
call fcn.00430dc0
mov ecx, dword [ebp - 0x1a0]
add esp, 4
mov eax, dword [ebp - 0x1a4]
cmp dword [ebp - 0x198], ecx
jne 0x43237e
cmp dword [ebp - 0x194], eax
je 0x432393
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x190], eax
sub esp, 8
lea ecx, [ebp - 0x254]
call fcn.00415530
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x244]
movzx eax, word [ebp - 0x190]
push eax
push dword [ebp - 0x194]
push dword [ebp - 0x198]
call fcn.00415650
mov dl, 0x2e
mov ecx, eax
call fcn.004284c0
mov ecx, eax
call fcn.00415650
mov dl, 0x2e
mov ecx, eax
call fcn.004284c0
mov ecx, eax
call fcn.00415650
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x254]
call fcn.004153f0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.00467e50
mov esi, eax
push 0
push 0x1168d
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 2
call fcn.0041eb10
push 0
push esi
push eax
mov byte [ebp - 4], 3
call fcn.0044a260
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.00467f40
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00407420
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x254]
call fcn.004153f0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.00467e50
mov esi, eax
push 0
push 0x115a0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 6
call fcn.0041eb10
push 0
push esi
push eax
mov byte [ebp - 4], 7
call fcn.0044a260
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.00467f40
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00407420
push 0x633b54
lea ecx, [ebp - 0x28]
call fcn.00407456
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 9
call fcn.00417500
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x200]
cmovae ecx, dword [ebp - 0x28]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x204], 0
test eax, eax
je 0x43250a
push eax
push ecx
lea ecx, [ebp - 0x23c]
call fcn.004162e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00407420
push dword [ebp - 0x198]
lea ecx, [ebp - 0x244]
call fcn.00415650
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x254]
call fcn.004153f0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xa
call fcn.00467e50
mov esi, eax
push 0
push 0x116c7
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xb
call fcn.0041eb10
push 0
push esi
push eax
mov byte [ebp - 4], 0xc
call fcn.0044a260
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xa
call fcn.00467f40
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00407420
push 0x633b54
lea ecx, [ebp - 0x28]
call fcn.00407456
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0xe
call fcn.00417500
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x200]
cmovae ecx, dword [ebp - 0x28]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x204], 0
test eax, eax
je 0x4325e1
push eax
push ecx
lea ecx, [ebp - 0x23c]
call fcn.004162e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00407420
push dword [ebp - 0x194]
lea ecx, [ebp - 0x244]
call fcn.00415650
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x254]
call fcn.004153f0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xf
call fcn.00467e50
mov esi, eax
push 0
push 0x116c8
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x10
call fcn.0041eb10
push 0
push esi
push eax
mov byte [ebp - 4], 0x11
call fcn.0044a260
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xf
call fcn.00467f40
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00407420
push 0x633b54
lea ecx, [ebp - 0x28]
call fcn.00407456
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x13
call fcn.00417500
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x200]
cmovae ecx, dword [ebp - 0x28]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x204], 0
test eax, eax
je 0x4326b8
push eax
push ecx
lea ecx, [ebp - 0x23c]
call fcn.004162e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00407420
movzx eax, word [ebp - 0x190]
lea ecx, [ebp - 0x244]
push eax
call fcn.00415650
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x254]
call fcn.004153f0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x14
call fcn.00467e50
mov esi, eax
push 0
push 0x116c6
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x15
call fcn.0041eb10
push 0
push esi
push eax
mov byte [ebp - 4], 0x16
call fcn.0044a260
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x14
call fcn.00467f40
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00407420
push 0x633b54
lea ecx, [ebp - 0x28]
call fcn.00407456
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x18
call fcn.00417500
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x200]
cmovae ecx, dword [ebp - 0x28]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x204], 0
test eax, eax
je 0x432791
push eax
push ecx
lea ecx, [ebp - 0x23c]
call fcn.004162e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00407420
push dword [ebp - 0x88]
lea ecx, [ebp - 0x244]
call fcn.00434f40
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x254]
call fcn.004153f0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x19
call fcn.00467e50
mov esi, eax
push 0
push 0x116c4
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x1a
call fcn.0041eb10
push 0
push esi
push eax
mov byte [ebp - 4], 0x1b
call fcn.0044a260
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x19
call fcn.00467f40
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00407420
push 0x633b54
lea ecx, [ebp - 0x28]
call fcn.00407456
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x1d
call fcn.00417500
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x200]
cmovae ecx, dword [ebp - 0x28]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x204], 0
test eax, eax
je 0x432868
push eax
push ecx
lea ecx, [ebp - 0x23c]
call fcn.004162e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00407420
push dword [ebp - 0x86]
lea ecx, [ebp - 0x244]
call fcn.00434f40
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x254]
call fcn.004153f0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1e
call fcn.00467e50
mov esi, eax
push 0
push 0x116c5
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x1f
call fcn.0041eb10
push 0
push esi
push eax
mov byte [ebp - 4], 0x20
call fcn.0044a260
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1e
call fcn.00467f40
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00407420
push 0x633b54
lea ecx, [ebp - 0x28]
call fcn.00407456
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x22
call fcn.00417500
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x200]
cmovae ecx, dword [ebp - 0x28]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x204], 0
test eax, eax
je 0x43293f
push eax
push ecx
lea ecx, [ebp - 0x23c]
call fcn.004162e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00407420
push dword [ebp - 0x84]
lea ecx, [ebp - 0x244]
call fcn.00434f40
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x254]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x18], vtable.srl::Value.0
mov dword [ebp - 0x18], vtable.srl::Name.0
call fcn.0040cdf0
mov ecx, eax
test ecx, ecx
jne 0x432994
push 0x80004005
call fcn.004021c2
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4329a9
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x4329ab
call edx
add eax, 0x10
mov dword [ebp - 0x14], eax
cmp dword [esi + 0x14], 8
jb 0x4329b9
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x18]
call fcn.00446330
push 0
push 0x116c3
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x24
call fcn.0041eb10
push 0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x25
push ecx
push eax
call fcn.0044a260
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x23
call fcn.00446220
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00407420
push 0x633b54
lea ecx, [ebp - 0x28]
call fcn.00407456
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x27
call fcn.00417500
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x200]
cmovae ecx, dword [ebp - 0x28]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x204], 0
test eax, eax
je 0x432a61
push eax
push ecx
lea ecx, [ebp - 0x23c]
call fcn.004162e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00407420
movzx eax, byte [ebp - 0x82]
lea ecx, [ebp - 0x244]
push eax
call fcn.0040fdf0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x254]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x18], vtable.srl::Value.0
mov dword [ebp - 0x18], vtable.srl::Name.0
call fcn.0040cdf0
mov ecx, eax
test ecx, ecx
jne 0x432ab8
push 0x80004005
call fcn.004021c2
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x432acd
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x432acf
call edx
add eax, 0x10
mov dword [ebp - 0x14], eax
cmp dword [esi + 0x14], 8
jb 0x432add
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x18]
call fcn.00446330
push 0
push 0x116c2
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x29
call fcn.0041eb10
push 0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2a
push ecx
push eax
call fcn.0044a260
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x28
call fcn.00446220
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0
call fcn.00407420
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
sub esp, 8
lea ecx, [ebp - 0x304]
mov esi, eax
call fcn.00415530
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x2f4]
push 0
push 4
mov ecx, dword [ecx + 4]
mov eax, dword [ebp + ecx - 0x2e0]
and eax, 0xfffff9ff
or eax, 0x800
mov dword [ebp + ecx - 0x2e0], eax
lea eax, [ebp - 0x20]
push eax
call fcn.005b7396
add esp, 0xc
lea ecx, [ebp - 0x2f4]
mov edx, eax
call fcn.0041e4a0
mov edx, 0x30
push esi
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov word [ecx + eax + 0x40], dx
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
or dword [ecx + eax + 0x14], 4
mov ecx, eax
call fcn.00415650
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x304]
call fcn.004153f0
mov esi, eax
mov byte [ebp - 4], 0x2d
mov dword [ebp - 0x18], vtable.srl::Value.0
mov dword [ebp - 0x18], vtable.srl::Name.0
call fcn.0040cdf0
mov ecx, eax
test ecx, ecx
jne 0x432be5
push 0x80004005
call fcn.004021c2
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x432bfa
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x432bfc
call edx
add eax, 0x10
mov dword [ebp - 0x14], eax
cmp dword [esi + 0x14], 8
jb 0x432c0a
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x18]
call fcn.00446330
push 0
push 0x116dc
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x2e
call fcn.0041eb10
push 0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2f
push ecx
push eax
call fcn.0044a260
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], vtable.srl::GroupID.0
call fcn.00407420
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2d
call fcn.00446220
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x2c
call fcn.00407420
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0x31
call fcn.00415410
mov byte [ebp - 4], 0x32
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x29c]
mov byte [ebp - 4], 0x33
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
add esp, 4
lea ecx, [ebp - 0x1ec]
mov dword [ebp - 4], 0x34
call fcn.00415410
mov byte [ebp - 4], 0x35
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
lea eax, [ebp - 0x1ec]
mov byte [ebp - 4], 0x36
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.005b72e0
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x67e3a4]
test eax, eax
jne 0x432d17
push 0x70
call fcn.0046f39a
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0x37
test eax, eax
je 0x432d09
mov ecx, eax
call fcn.0040d800
jmp 0x432d0b
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x67e3a4], eax
push dword [eax + 0xc]
lea ecx, [ebp - 0x80]
call fcn.00407456
mov dword [ebp - 4], 0x38
mov dword [ebp - 0x18], vtable.srl::Value.0
mov dword [ebp - 0x18], vtable.srl::Name.0
call fcn.0040cdf0
mov ecx, eax
test ecx, ecx
jne 0x432d4c
push 0x80004005
call fcn.004021c2
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x432d61
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x432d63
call edx
add eax, 0x10
lea ecx, [ebp - 0x18]
cmp dword [ebp - 0x6c], 8
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x80]
cmovae eax, dword [ebp - 0x80]
push eax
call fcn.00446330
push 0
push 0x11627
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x39
call fcn.0041eb10
push 0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x3a
push ecx
push eax
call fcn.0044a260
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x68], vtable.srl::GroupID.0
call fcn.00407420
mov byte [ebp - 4], 0x3c
or eax, 0xffffffff
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], vtable.srl::Name.0
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x432e00
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x432dfc
mov edx, dword [edx + 4]
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x432dfc
push 0
push dword [edx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x432e00
mov ecx, edx
call esi
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x18], vtable.srl::Value.0
mov dword [ebp - 4], 0xffffffff
call fcn.00407420
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005b5208
mov esp, ebp
pop ebp
ret