Function at 0x401260
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x88
xor edx, edx
push ebx
mov bl, 0x2b
mov cl, 0x22
mov word [esp + 8], dx
mov byte [esp + 4], bl
mov byte [esp + 5], cl
mov byte [esp + 6], cl
mov byte [esp + 0xa], dl
mov byte [esp + 0xc], cl
mov byte [esp + 0x14], bl
push ebp
mov cl, 0x39
mov dl, 0x23
mov bl, 0x28
push esi
push edi
mov byte [esp + 0x1a], cl
mov byte [esp + 0x1f], dl
mov byte [esp + 0x21], bl
mov byte [esp + 0x23], cl
mov byte [esp + 0x2a], dl
mov byte [esp + 0x2e], bl
mov byte [esp + 0x30], cl
mov byte [esp + 0x38], bl
mov byte [esp + 0x3a], cl
mov byte [esp + 0x3b], bl
mov byte [esp + 0x3d], cl
mov al, 0x4d
xor edi, edi
mov dl, 0x3e
mov cl, 0x3b
mov bl, 0x2f
mov byte [esp + 0x13], al
mov byte [esp + 0x17], 0x2a
mov byte [esp + 0x19], 0x2c
mov byte [esp + 0x1b], al
mov word [esp + 0x1c], di
mov byte [esp + 0x1e], 0x24
mov byte [esp + 0x22], 0x2e
mov byte [esp + 0x24], al
mov byte [esp + 0x25], 0x3d
mov byte [esp + 0x26], 0x38
mov byte [esp + 0x27], 0x3d
mov byte [esp + 0x28], 0x26
mov byte [esp + 0x29], 0x24
mov byte [esp + 0x2b], al
mov byte [esp + 0x2c], 0x2a
mov byte [esp + 0x2d], 0x38
mov byte [esp + 0x2f], dl
mov byte [esp + 0x31], al
mov byte [esp + 0x32], 0
mov byte [esp + 0x33], dl
mov byte [esp + 0x34], 0x2c
mov byte [esp + 0x35], 0x20
mov byte [esp + 0x36], 0x3d
mov byte [esp + 0x37], 0x21
mov byte [esp + 0x39], al
mov byte [esp + 0x3c], dl
mov byte [esp + 0x3e], al
mov word [esp + 0x3f], di
mov byte [esp + 0x41], cl
mov byte [esp + 0x42], 0x60
mov byte [esp + 0x43], 0x21
mov byte [esp + 0x44], 0x2c
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], al
mov byte [esp + 0x47], 0
mov byte [esp + 0x48], cl
mov byte [esp + 0x49], 0x21
mov byte [esp + 0x4a], 0x2c
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4c], al
mov word [esp + 0x4d], di
mov byte [esp + 0x4f], cl
mov byte [esp + 0x50], 0x24
mov byte [esp + 0x51], 0x3f
mov byte [esp + 0x52], 0x38
mov byte [esp + 0x53], dl
mov byte [esp + 0x54], al
mov byte [esp + 0x55], 0
mov ebp, dword [esp + 0x9c]
mov ax, word [0x4319e0]
add word [0x4319dc], ax
push ebp
call dword [sym.imp.MSVCRT.dll__strlwr]
movsx ecx, word [0x4319e0]
push 0x6b35ffff
push ecx
call fcn.004107d0
add esp, 0xc
mov byte [0x4319cd], al
lea esi, [esp + 0x10]
movsx edx, word [0x4319d6]
mov eax, dword [0x4319f0]
sub edx, 0x5049ffff
test eax, eax
mov dword [0x4319ec], edx
je 0x40140f
cmp word [0x4319dc], 0
mov dword [0x4319f4], 1
jne 0x401419
mov dword [0x4319f4], 0
movsx eax, word [0x4319d4]
push eax
push 0x471bffff
call fcn.004109b0
mov byte [0x4319cc], al
mov eax, dword [0x431a00]
mov edx, dword [0x4319f0]
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
shl ecx, 5
sub ecx, eax
neg ecx
shl ecx, 0x13
sub ecx, eax
add edx, ecx
mov dword [0x4319f0], edx
lea edx, [esp + 0x60]
push edx
push esi
call section..text
movsx eax, word [0x4319d6]
mov ecx, dword [0x4319f0]
push eax
push ecx
call fcn.004108a0
mov cl, byte [0x4319d1]
movsx edx, byte [0x4319cf]
add cl, al
mov eax, dword [0x4319ec]
mov byte [0x4319d1], cl
mov ecx, dword [0x431a0c]
sub eax, edx
add ecx, eax
mov dword [0x431a0c], ecx
movsx ecx, byte [0x4319ca]
push ecx
push 0xbebffff
call fcn.00410820
lea edx, [esp + 0x78]
mov word [0x4319d2], ax
push edx
push ebp
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 0x28
test eax, eax
jne 0x4015b2
mov eax, dword [0x4319fc]
mov edx, dword [0x4319ec]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
dec word [0x4319dc]
mov bl, byte [0x4319cd]
sub eax, edx
add word [0x4319e2], ax
mov eax, dword [ecx]
cmp eax, 1
jne 0x401505
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
mov eax, dword [0x43197c]
test eax, eax
je 0x401519
mov al, byte [eax - 1]
test al, al
je 0x401519
cmp al, 0xff
jne 0x401535
mov eax, dword [0x431984]
cmp eax, 0x1f
ja 0x401528
cmp eax, 1
jae 0x401542
push 1
mov ecx, 0x431978
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
mov ecx, 0x431978
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 [0x43197c]
inc edi
movsx edx, bl
mov dh, dl
mov byte [ecx], dl
mov edx, dword [0x43197c]
add esi, 7
mov dword [0x431980], 1
cmp edi, 0xa
mov byte [edx + 1], 0
jb 0x4013df
push 0x9a37ffff
push 0x4937ffff
call fcn.00410970
mov byte [0x4319cf], al
mov eax, dword [0x4319fc]
push eax
push 0x5949ffff
mov word [0x4319d6], 1
call fcn.00410820
add esp, 0x10
mov dword [0x431a08], eax
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret
cmp word [0x4319d2], 0
jne 0x4015ca
cmp word [0x4319da], 0
jne 0x4015ca
xor eax, eax
jmp 0x4015cf
mov eax, 1
mov edi, dword [0x4319e8]
mov ecx, dword [0x431a0c]
add edi, eax
movsx eax, byte [0x4319cf]
push eax
push ecx
mov dword [0x4319e8], edi
call fcn.004109f0
mov dl, byte [0x4319cd]
add esp, 8
mov dword [0x4319f8], eax
mov al, byte [0x4319cf]
add al, dl
pop edi
pop esi
mov byte [0x4319cf], al
pop ebp
mov al, 1
pop ebx
add esp, 0x88
ret