Function at 0x401ab0
Capabilities:
Check for peb beingdebugged flag
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42a270
push 0x428720
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3dc
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
push 0x4319b8
mov ecx, 0x431928
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::swap_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
add word [0x4319dc], 0xfffe
movsx eax, byte [0x4319ca]
push eax
push 0x6d45ffff
call fcn.004107d0
add dword [0x4319f0], eax
mov dl, byte [0x4318f4]
mov byte [ebp - 0x124], dl
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [ebp - 0x123]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov esi, 0x104
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x228], dl
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [ebp - 0x227]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
inc byte [0x4319d0]
mov ecx, dword [0x4319ec]
push ecx
mov edx, dword [0x431a00]
push edx
call fcn.00410920
add word [0x4319da], ax
movsx eax, word [0x4319dc]
push eax
movsx ecx, byte [0x4319c9]
push ecx
call fcn.00410920
add esp, 0x18
mov word [0x4319e4], ax
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x124]
push eax
call dword [0x431f24]
mov dword [ebp - 0x1c], esi
dec word [0x4319e4]
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x228]
push edx
call dword [0x431fa4]
mov word [0x4319e0], 1
mov eax, dword [0x431a00]
push eax
push 0x187fffff
call fcn.004108e0
add byte [0x4319cc], al
movsx ecx, word [0x4319e0]
push ecx
movsx edx, byte [0x4319cd]
push edx
call fcn.004107d0
add esp, 0x10
add word [0x4319e2], ax
mov eax, dword [0x4318f0]
xor esi, esi
cmp eax, esi
jne 0x402b14
movsx eax, byte [0x4319cb]
push eax
push 0x9759ffff
call fcn.00410920
add esp, 8
add byte [0x4319cb], al
mov dword [ebp - 4], esi
movsx ecx, byte [0x4319ce]
movsx edx, byte [0x4319c9]
and ecx, edx
mov dword [0x4319fc], ecx
movsx eax, byte [0x4319cf]
push eax
mov ecx, dword [0x431a0c]
push ecx
call fcn.004108a0
add esp, 8
add byte [0x4319d0], al
movsx edx, word [0x4319e4]
and edx, 0xc9b1ffff
mov dword [0x4319f4], edx
dec word [0x4319da]
push 0x431978
mov ecx, 0x4319b8
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::swap_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
lea eax, [ebp - 0x124]
push eax
call fcn.00401260
add esp, 4
neg al
sbb eax, eax
and eax, 5
mov dword [ebp - 0x20], eax
jne 0x401d18
push 0x4319b8
mov ecx, 0x431928
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::swap_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
movsx ecx, word [0x4319e2]
or ecx, dword [0x4319e8]
mov dword [0x431a00], ecx
push 0x4edfffff
push 0xec47ffff
call fcn.00410820
add byte [0x4319c9], al
lea edx, [ebp - 0x228]
push edx
call fcn.00401260
add esp, 0xc
neg al
sbb eax, eax
and eax, 6
mov dword [ebp - 0x20], eax
push 0x431978
mov ecx, 0x431978
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::swap_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
mov word [0x4319e4], si
push 0xca2bffff
push 0x9cdbffff
call fcn.00410820
add esp, 8
mov word [0x4319d6], ax
mov al, byte [0x4319c8]
test al, al
jne 0x401d2d
cmp dword [0x431a00], esi
jne 0x401d2d
xor eax, eax
jmp 0x401d32
mov eax, 1
mov dword [0x431a00], eax
cmp dword [ebp - 0x20], esi
jne 0x402b03
dec word [0x4319e2]
mov eax, dword [0x431a04]
push eax
movsx ecx, word [0x4319e4]
push ecx
call fcn.00410a30
add esp, 8
mov word [0x4319da], ax
push 0x431958
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::swap_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
mov dword [ebp - 0x20], 7
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ebx, dword [edx]
mov dword [ebp - 0x33c], ebx
mov dword [ebp - 0x338], esi
mov eax, dword [0x43194c]
cmp eax, esi
je 0x401e16
mov cl, byte [eax - 1]
test cl, cl
je 0x401e16
cmp cl, 0xff
je 0x401e16
mov esi, eax
mov dword [ebp - 0x2fc], esi
dec cl
mov byte [eax - 1], cl
xor eax, eax
mov dword [0x43194c], eax
mov dword [0x431950], eax
mov dword [0x431954], eax
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x30c], ecx
push 1
push ecx
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x401e11
mov edi, dword [0x43194c]
mov dword [ebp - 0x308], edi
mov eax, dword [ebp - 0x30c]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push eax
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
mov eax, dword [0x43194c]
mov ecx, dword [0x431950]
cmp ecx, ebx
jae 0x401e28
mov ebx, ecx
mov dword [ebp - 0x33c], ebx
test ebx, ebx
jbe 0x401f2b
sub ecx, ebx
mov dword [ebp - 0x318], ecx
lea edx, [eax + ebx]
mov dword [ebp - 0x314], edx
mov dword [ebp - 0x310], eax
push ecx
push edx
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
mov esi, dword [0x431950]
sub esi, ebx
mov dword [ebp - 0x2f8], esi
or eax, 0xffffffff
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], eax
cmp esi, 0xfffffffd
jbe 0x401e7b
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
mov ecx, dword [0x43194c]
xor edx, edx
cmp ecx, edx
je 0x401ecf
mov al, byte [ecx - 1]
test al, al
je 0x401ecf
cmp al, 0xff
je 0x401ecf
cmp esi, edx
jne 0x401eb3
dec al
mov byte [ecx - 1], al
xor ecx, ecx
mov dword [0x43194c], ecx
mov dword [0x431950], edx
mov dword [0x431954], edx
xor al, al
jmp 0x401f09
push esi
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Copy_unsigned_int_]
mov al, 1
mov byte [ebp - 0x32c], al
mov ecx, dword [0x43194c]
jmp 0x401f0f
cmp esi, edx
jne 0x401eed
cmp ecx, edx
je 0x401ee9
push edx
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
mov ecx, dword [0x43194c]
xor al, al
jmp 0x401f09
cmp dword [0x431954], esi
jae 0x401f07
push esi
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Copy_unsigned_int_]
mov ecx, dword [0x43194c]
mov al, 1
mov byte [ebp - 0x32c], al
test al, al
je 0x401f2b
mov byte [ebp - 0x330], 0
mov dword [0x431950], esi
add esi, ecx
mov dword [ebp - 0x334], esi
mov byte [esi], 0
push 0xf143ffff
movsx eax, word [0x4319d6]
push eax
call fcn.00410860
mov byte [0x4319c8], al
mov dword [ebp - 0x2f4], 0
mov ecx, dword [0x431a00]
imul ecx, ecx, 0x124fffff
mov eax, dword [0x431a0c]
add eax, ecx
mov dword [0x431a0c], eax
push 0x5ac3ffff
push eax
call fcn.00410a30
add esp, 0x10
mov word [0x4319dc], ax
mov dword [ebp - 4], 1
push 0xc409ffff
push 0x47f7ffff
call fcn.004107d0
mov word [0x4319de], ax
mov edx, dword [0x4319ec]
push edx
movsx eax, byte [0x4319ca]
push eax
call fcn.00410920
add esp, 0x10
mov word [0x4319d2], ax
call dword [sym.imp.KERNEL32.DLL_GetVersion]
test eax, 0x80000000
je 0x4021d3
push 0x247fffff
movsx ecx, byte [0x4319c8]
push ecx
call fcn.004109f0
add esp, 8
mov dword [0x431a00], eax
mov dl, byte [0x4319c9]
add edx, 0x3b5c0001
mov byte [0x4319ce], dl
mov eax, dword fs:[0x20]
mov dword [ebp - 0x2f4], eax
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ebx, dword [eax]
mov dword [ebp - 0x390], ebx
xor edx, edx
mov dword [ebp - 0x38c], edx
mov eax, dword [0x43194c]
cmp eax, edx
je 0x4020a0
mov cl, byte [eax - 1]
test cl, cl
je 0x4020a0
cmp cl, 0xff
je 0x4020a0
mov esi, eax
mov dword [ebp - 0x344], esi
dec cl
mov byte [eax - 1], cl
mov dword [0x43194c], edx
mov dword [0x431950], edx
mov dword [0x431954], edx
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x354], ecx
push 1
push ecx
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x402099
mov edi, dword [0x43194c]
mov dword [ebp - 0x350], edi
mov eax, dword [ebp - 0x354]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push eax
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Eos_unsigned_int_]
mov eax, dword [0x43194c]
xor edx, edx
mov ecx, dword [0x431950]
cmp ecx, ebx
jae 0x4020b2
mov ebx, ecx
mov dword [ebp - 0x390], ebx
cmp ebx, edx
jbe 0x4021c1
sub ecx, ebx
mov dword [ebp - 0x360], ecx
lea edx, [eax + ebx]
mov dword [ebp - 0x35c], edx
mov dword [ebp - 0x358], eax
push ecx
push edx
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
mov esi, dword [0x431950]
sub esi, ebx
mov dword [ebp - 0x340], esi
or eax, 0xffffffff
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x364], eax
cmp esi, 0xfffffffd
jbe 0x402105
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
mov eax, dword [0x43194c]
xor edx, edx
cmp eax, edx
je 0x402157
mov cl, byte [eax - 1]
test cl, cl
je 0x402157
cmp cl, 0xff
je 0x402157
cmp esi, edx
jne 0x40213c
dec cl
mov byte [eax - 1], cl
xor eax, eax
mov dword [0x43194c], eax
mov dword [0x431950], edx
mov dword [0x431954], edx
xor cl, cl
jmp 0x40219f
push esi
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Copy_unsigned_int_]
mov cl, 1
mov byte [ebp - 0x380], cl
mov eax, dword [0x43194c]
jmp 0x4021a5
cmp esi, edx
jne 0x402184
cmp eax, edx
je 0x402180
mov dword [ebp - 0x37c], edx
mov byte [ebp - 0x374], 0
mov dword [0x431950], edx
mov dword [ebp - 0x378], eax
mov byte [eax], 0
mov eax, dword [0x43194c]
xor cl, cl
jmp 0x40219f
cmp dword [0x431954], esi
jae 0x40219d
push esi
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Copy_unsigned_int_]
mov eax, dword [0x43194c]
mov cl, 1
mov byte [ebp - 0x380], cl
test cl, cl
je 0x4021c1
mov byte [ebp - 0x384], 0
mov dword [0x431950], esi
add esi, eax
mov dword [ebp - 0x388], esi
mov byte [esi], 0
inc byte [0x4319cd]
mov dword [ebp - 4], 0
jmp 0x402279
mov eax, dword [0x431a0c]
imul eax, eax, 0x34e1ffff
mov word [0x4319d4], ax
push 0x2d45ffff
push 0xfe17ffff
call fcn.00410a30
add dword [0x4319e8], eax
mov cl, byte [0x4319ca]
mov dx, word [0x4319dc]
or ecx, edx
mov byte [0x4319cb], cl
mov eax, dword fs:[0x30]
mov al, byte [eax + 2]
movzx eax, al
mov dword [ebp - 0x2f4], eax
push 0x44f3ffff
movsx eax, word [0x4319de]
push eax
call fcn.004109b0
mov word [0x4319e4], ax
push 0x44dbffff
push 0x2275ffff
call fcn.004109b0
add esp, 0x18
add byte [0x4319ca], al
mov dword [ebp - 4], 0
jmp 0x402279
movsx ecx, byte [0x4319ce]
mov edx, dword [0x4319f8]
lea eax, [edx + ecx + 0x63b60001]
mov dword [0x4319f8], eax
movsx ecx, byte [0x4319cb]
imul ecx, dword [0x431a04]
add dword [0x4319e8], ecx
mov eax, dword [ebp - 0x2f4]
test eax, eax
jne 0x402b03
mov dword [ebp - 0x20], 0xa
movsx edx, byte [0x4319cd]
push edx
mov eax, dword [0x431a08]
push eax
call fcn.004109b0
add esp, 8
mov word [0x4319da], ax
mov cl, byte [0x4319c8]
mov byte [0x4319c8], cl
inc byte [0x4319cc]
push 0
push 0x80
push 3
push 0
push 3
push SysReAllocString
lea edx, [ebp - 0x2b4]
push edx
push 0x42a234
call section..text
add esp, 8
push eax
call dword [0x431f84]
mov dword [ebp - 0x2e8], eax
cmp eax, 0xffffffff
jne 0x402ac1
push 0
push 0x80
push 3
push 0
push 3
push SysReAllocString
lea eax, [ebp - 0x2b4]
push eax
push 0x42a240
call section..text
add esp, 8
push eax
call dword [0x431f84]
mov dword [ebp - 0x2e8], eax
cmp eax, 0xffffffff
jne 0x402ac1
push 0
push 0x80
push 3
push 0
push 3
push SysReAllocString
lea ecx, [ebp - 0x2b4]
push ecx
push 0x42a24c
call section..text
add esp, 8
push eax
call dword [0x431f84]
mov dword [ebp - 0x2e8], eax
cmp eax, 0xffffffff
jne 0x402ac1
movsx edx, byte [0x4319ca]
push edx
push 0xb6afffff
call fcn.004108a0
add byte [0x4319cf], al
mov dword [ebp - 0x20], 8
mov byte [ebp - 0x2e4], 0x26
mov al, 0x28
mov byte [ebp - 0x2e3], al
mov byte [ebp - 0x2e2], 0x3f
mov cl, 0x23
mov byte [ebp - 0x2e1], cl
mov byte [ebp - 0x2e0], al
mov dl, 0x21
mov byte [ebp - 0x2df], dl
mov byte [ebp - 0x2de], 0x7e
mov byte [ebp - 0x2dd], 0x7f
mov ebx, 0x4d
mov byte [ebp - 0x2dc], bl
mov byte [ebp - 0x2d8], 0x18
mov byte [ebp - 0x2d7], cl
mov byte [ebp - 0x2d6], 0x25
mov byte [ebp - 0x2d5], 0x2c
mov byte [ebp - 0x2d4], cl
mov byte [ebp - 0x2d3], 0x29
mov byte [ebp - 0x2d2], dl
mov byte [ebp - 0x2d1], al
mov byte [ebp - 0x2d0], 0x29
mov byte [ebp - 0x2cf], 8
mov byte [ebp - 0x2ce], 0x35
mov byte [ebp - 0x2cd], 0x2e
mov byte [ebp - 0x2cc], al
mov byte [ebp - 0x2cb], 0x3d
mov byte [ebp - 0x2ca], 0x39
mov byte [ebp - 0x2c9], 0x24
mov byte [ebp - 0x2c8], 0x22
mov byte [ebp - 0x2c7], cl
mov byte [ebp - 0x2c6], 0xb
mov byte [ebp - 0x2c5], 0x24
mov byte [ebp - 0x2c4], dl
mov byte [ebp - 0x2c3], 0x39
mov byte [ebp - 0x2c2], al
mov byte [ebp - 0x2c1], 0x3f
mov byte [ebp - 0x2c0], bl
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x2e4]
push ecx
call section..text
lea edx, [ebp - 0x270]
push edx
lea eax, [ebp - 0x2d8]
push eax
call section..text
add esp, 0x18
mov ecx, dword [0x4319ec]
and cx, word [0x4319d8]
add word [0x4319dc], cx
lea edx, [ebp - 0x2b4]
push edx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov esi, eax
mov dword [ebp - 0x2bc], esi
movsx eax, byte [0x4319c8]
imul eax, eax, 0x7f1fffff
add dword [0x431a08], eax
mov ecx, dword [0x431a00]
push ecx
push 0x28b9ffff
call fcn.00410970
add esp, 8
add dword [0x4319f0], eax
lea edx, [ebp - 0x270]
push edx
push esi
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
xor ecx, ecx
mov cl, byte [eax]
xor ecx, ebx
cmp ecx, 0xffffff81
jne 0x402564
mov al, byte [0x4319f0]
imul byte [0x4319c8]
add byte [0x4319d1], al
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [0x4318f0], eax
jmp 0x402b17
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov eax, dword [edx]
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x3e8], 0
mov eax, dword [0x43194c]
test eax, eax
je 0x40261d
mov cl, byte [eax - 1]
test cl, cl
je 0x40261d
cmp cl, 0xff
je 0x40261d
mov esi, eax
mov dword [ebp - 0x398], esi
dec cl
mov byte [eax - 1], cl
xor eax, eax
mov dword [0x43194c], eax
mov dword [0x431950], eax
mov dword [0x431954], eax
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov dword [ebp - 0x3b0], ebx
push 1
push ebx
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x402618
mov edi, dword [0x43194c]
mov dword [ebp - 0x3a4], edi
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x3a8], 0
mov dword [0x431950], ebx
mov eax, dword [0x43194c]
add eax, ebx
mov dword [ebp - 0x3ac], eax
mov byte [eax], 0
mov eax, dword [0x43194c]
mov ecx, dword [0x431950]
mov edx, dword [ebp - 0x3ec]
cmp ecx, edx
jae 0x402635
mov edx, ecx
mov dword [ebp - 0x3ec], edx
test edx, edx
jbe 0x40274a
mov edi, dword [ebp - 0x3ec]
sub ecx, edi
mov dword [ebp - 0x3bc], ecx
lea edx, [eax + edi]
mov dword [ebp - 0x3b8], edx
mov dword [ebp - 0x3b4], eax
push ecx
push edx
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
mov esi, dword [0x431950]
sub esi, edi
mov dword [ebp - 0x394], esi
or eax, 0xffffffff
mov dword [ebp - 0x3c4], eax
mov dword [ebp - 0x3c0], eax
cmp esi, 0xfffffffd
jbe 0x40268e
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
mov eax, dword [0x43194c]
xor edx, edx
cmp eax, edx
je 0x4026e0
mov cl, byte [eax - 1]
test cl, cl
je 0x4026e0
cmp cl, 0xff
je 0x4026e0
cmp esi, edx
jne 0x4026c5
dec cl
mov byte [eax - 1], cl
xor eax, eax
mov dword [0x43194c], eax
mov dword [0x431950], edx
mov dword [0x431954], edx
xor cl, cl
jmp 0x402728
push esi
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Copy_unsigned_int_]
mov cl, 1
mov byte [ebp - 0x3dc], cl
mov eax, dword [0x43194c]
jmp 0x40272e
cmp esi, edx
jne 0x40270d
cmp eax, edx
je 0x402709
mov dword [ebp - 0x3d8], edx
mov byte [ebp - 0x3d0], 0
mov dword [0x431950], edx
mov dword [ebp - 0x3d4], eax
mov byte [eax], 0
mov eax, dword [0x43194c]
xor cl, cl
jmp 0x402728
cmp dword [0x431954], esi
jae 0x402726
push esi
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Copy_unsigned_int_]
mov eax, dword [0x43194c]
mov cl, 1
mov byte [ebp - 0x3dc], cl
test cl, cl
je 0x40274a
mov byte [ebp - 0x3e0], 0
mov dword [0x431950], esi
add eax, esi
mov dword [ebp - 0x3e4], eax
mov byte [eax], 0
mov dword [ebp - 0x20], 9
call fcn.00401940
test al, al
jne 0x402b03
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x2ec], 0x564d5868
mov dword [ebp - 0x2f0], 0x5658
push 0x431938
mov ecx, 0x431928
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::swap_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
push 0xa0c7ffff
push 0x6bbbffff
call fcn.004108a0
add esp, 8
add word [0x4319e4], ax
add dword [0x431a0c], 0x5ac9fffe
mov dword [ebp - 4], 2
push 0x431988
mov ecx, 0x4319a8
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::swap_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
push 0xa5dffff
push 0xd007ffff
call fcn.00410820
add dword [0x4319fc], eax
push 0x4c13ffff
push 0x4a53ffff
call fcn.00410860
mov byte [0x4319cd], al
xor ebx, ebx
mov ecx, 0xa
mov eax, dword [ebp - 0x2ec]
mov dx, word [ebp - 0x2f0]
in eax, dx
cmp ebx, dword [ebp - 0x2ec]
sete al
movzx eax, al
mov dword [ebp - 0x2f4], eax
mov dword [0x431a04], 0xd221ffff
push 0x7f3fffff
mov ecx, dword [0x431a08]
push ecx
call fcn.004109f0
add esp, 0x18
mov byte [0x4319ca], al
jmp 0x402875
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x2f4]
test eax, eax
jne 0x402b03
push 0x5601ffff
mov eax, dword [0x4319e8]
push eax
call fcn.004109b0
add esp, 8
mov word [0x4319d2], ax
mov dword [ebp - 0x20], 2
push 0x431978
mov ecx, 0x431948
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::swap_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
movsx ecx, word [0x4319dc]
push ecx
push 0xaeebffff
call fcn.00410a30
add esp, 8
mov dword [0x431a08], eax
push pe_nt_image_headers32
push 0x1000
push 0x1000
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
mov esi, eax
mov dword [ebp - 0x274], esi
push 0xe3bfffff
push 0x8b63ffff
call fcn.00410920
add esp, 8
add word [0x4319da], ax
mov byte [ebp - 0x230], 0x42
mov byte [ebp - 0x22f], 0x72
mov ecx, 0x4d
mov byte [ebp - 0x22e], cl
mov byte [ebp - 0x22d], cl
mov byte [ebp - 0x22c], 0x8e
xor eax, eax
mov dword [ebp - 0x2b8], eax
cmp eax, 5
jge 0x40294b
mov dl, byte [ebp + eax - 0x230]
xor edx, ecx
mov byte [eax + esi], dl
inc eax
jmp 0x402931
movsx eax, byte [0x4319d1]
push eax
movsx ecx, byte [0x4319cb]
push ecx
call fcn.004108e0
add esp, 8
mov dword [0x4319f8], eax
mov byte [0x4319ce], 0xff
mov edx, 0x824fffff
sub edx, dword [0x4319f0]
mov byte [0x4319cd], dl
mov dword [ebp - 4], 3
mov al, byte [0x4319c8]
mov cl, byte [0x4319c9]
and eax, ecx
mov byte [0x4319ca], al
movsx edx, al
push edx
push 0x1037ffff
call fcn.00410a30
add esp, 8
add byte [0x4319c8], al
pushal
mov eax, dword [ebp - 0x274]
call eax
popal
inc dword [ebp - 0x2f4]
movsx eax, byte [0x4319ce]
add eax, dword [0x431a0c]
mov dword [0x4319f8], eax
mov byte [0x4319c8], 0xfe
jmp 0x402a20
mov dword [ebp - 4], 0
xor eax, eax
mov ebx, dword [0x4319fc]
test ebx, ebx
setne al
mov word [0x4319e4], ax
push 0x8000
push 0
mov ecx, dword [ebp - 0x274]
push ecx
call dword [sym.imp.KERNEL32.DLL_VirtualFree]
push 0x4319a8
mov ecx, 0x431988
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::swap_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
mov eax, dword [ebp - 0x2f4]
test eax, eax
jne 0x402b03
mov dword [ebp - 0x20], 3
call fcn.004017d0
test al, al
jne 0x402b03
movsx edx, byte [0x4319ca]
push edx
push 0x2829ffff
call fcn.00410970
add dword [0x431a04], eax
push 0x133bffff
push 0xaaa9ffff
call fcn.00410970
add esp, 0x10
mov byte [0x4319cb], al
int3
mov dword [0x4319f8], 1
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [0x4318f0], eax
jmp 0x402b17
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [0x4318f0], eax
jmp 0x402b17
mov dword [ebp - 0x20], eax
mov al, byte [0x4319d6]
and al, byte [0x4319e2]
mov byte [0x4319ce], al
push 0x34fbffff
push 0x328bffff
call fcn.00410860
add byte [0x4319cf], al
movsx ecx, byte [0x4319cb]
push ecx
mov edx, dword [0x431a0c]
push edx
call fcn.00410920
add esp, 0x10
add byte [0x4319c9], al
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x402b6f
call fcn.00401620
neg al
sbb eax, eax
and eax, 4
mov dword [ebp - 0x20], eax
movsx eax, byte [0x4319cc]
mov ecx, dword [0x4319f8]
lea edx, [ecx + eax - 0x3b99ffff]
mov dword [0x4319f8], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret