Function at 0x10013140
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003eaef
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x184
push ebx
push esi
push edi
mov dword [ebp - 0x44], 0
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov ebx, dword [0x10047be0]
mov ecx, dword [0x10047bd4]
mov byte [0x10047ba1], al
sub ebx, 0x2e020000
movsx eax, word [0x10047bae]
push eax
push ecx
mov dword [0x10047be0], ebx
call fcn.100077d0
mov edx, dword [ebp + 0x10]
add word [0x10047bb4], ax
add esp, 8
cmp dword [edx], 5
jle 0x10015d2a
movsx eax, word [0x10047bb0]
movsx ecx, word [0x10047bac]
push eax
push ecx
call fcn.10007830
mov esi, dword [0x1004155c]
add word [0x10047bac], ax
mov dword [0x10047bc4], 0x186bfffe
mov word [0x10047bb8], 0xffff
mov al, byte [esi]
add esp, 8
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx]
mov ecx, dword [edx]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10013219
mov dword [ebp + 0xc], 4
jmp 0x10013255
mov esi, dword [0x10041560]
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov esi, dword [ebx]
mov edi, eax
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10015d2a
mov dword [ebp + 0xc], 5
mov al, byte [ebp + 0xb]
push 0
lea ecx, [ebp - 0xac]
mov byte [ebp - 0xac], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
movsx ecx, byte [0x10047ba1]
push 0x91fffff
push ecx
mov dword [ebp - 4], 0
call fcn.10007880
mov esi, dword [0x10047bc8]
add esp, 8
xor edx, edx
mov cl, byte [0x10047ba1]
test esi, esi
setne dl
mov dword [0x10047bd4], eax
mov al, byte [0x10047bb0]
mov word [0x10047bbc], dx
mov dl, byte [0x10047ba6]
add al, dl
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
add cl, al
mov byte [0x10047ba1], cl
mov ecx, dword [ebp + 0x10]
mov eax, dword [edx]
mov edx, dword [ebp - 0xa4]
mov esi, dword [ecx]
mov edi, dword [ebx]
sub eax, edx
cmp eax, esi
ja 0x100132dd
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
test esi, esi
jbe 0x1001332f
mov ecx, dword [ebp - 0xa4]
push 0
lea ebx, [esi + ecx]
lea ecx, [ebp - 0xac]
push ebx
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 0x1001332f
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa4]
mov ecx, esi
add eax, edx
mov edx, ecx
mov esi, edi
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xa4], ebx
mov byte [ebx + eax], 0
lea ecx, [ebp - 0xac]
lea edx, [ebp - 0xcc]
push ecx
push edx
call fcn.100299c0
add esp, 8
cmp word [0x10047bb0], 0
mov byte [ebp - 4], 1
je 0x10013367
cmp word [0x10047baa], 0
mov dword [0x10047bd4], 1
jne 0x10013371
mov dword [0x10047bd4], 0
movsx eax, byte [0x10047ba3]
movsx ecx, byte [0x10047ba5]
push eax
push ecx
call fcn.100078b0
movsx edx, word [0x10047bb4]
mov edi, dword [0x10047bd0]
mov esi, dword [0x10047bcc]
mov bl, byte [0x10047ba2]
or edx, edi
add esi, edx
add bl, al
mov dword [0x10047bcc], esi
mov esi, dword [0x10041564]
mov byte [0x10047ba2], bl
add esp, 8
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov esi, eax
mov al, byte [ebp + 0xb]
xor ebx, ebx
lea ecx, [ebp - 0x1c]
push ebx
mov byte [ebp - 0x1c], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0xcc]
push ecx
lea eax, [ebp - 0xfc]
push edx
push eax
mov byte [ebp - 4], 2
call fcn.10029e30
add esp, 0xc
push 1
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
cmp dword [ebp - 0xf4], ebx
jbe 0x10015c47
mov ecx, dword [0x10047bc0]
xor eax, eax
cmp word [0x10047bb4], bx
setne al
add ecx, eax
mov eax, dword [ebp + 0xc]
mov dword [0x10047bc0], ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [ecx]
lea ecx, [ebp - 0x9c]
push edx
push eax
push ecx
mov ecx, dword [ebp - 0xc8]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov esi, dword [0x10041568]
mov byte [ebp - 4], 5
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
push edx
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_first_of_char_const___unsigned_int__unsigned_int_const]
push 0x26c1ffff
push 0x56dfffff
mov esi, eax
call fcn.100075f0
movsx edx, byte [0x10047ba9]
push 0x885dffff
push edx
mov dword [0x10047be4], eax
call fcn.10007740
mov word [0x10047bbc], ax
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
add esp, 0x10
mov edi, dword [eax]
cmp esi, edi
je 0x10013568
cmp dword [ebp - 0x94], esi
jae 0x10013501
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xran_void_]
lea ecx, [ebp - 0x9c]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Split_void_]
mov eax, dword [ebp - 0x94]
mov ecx, eax
sub ecx, esi
cmp ecx, edi
jae 0x1001351d
mov edi, ecx
cmp edi, ebx
jbe 0x10013568
mov edx, dword [ebp - 0x98]
sub eax, esi
lea ecx, [esi + edi]
sub eax, edi
add ecx, edx
add esi, edx
push eax
push ecx
push esi
call dword [sym.imp.MSVCRT.dll_memmove]
mov esi, dword [ebp - 0x94]
add esp, 0xc
sub esi, edi
lea ecx, [ebp - 0x9c]
push ebx
push esi
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 0x10013568
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x94], esi
mov byte [esi + ecx], 0
movsx edx, byte [0x10047ba5]
mov bl, byte [0x10047ba3]
push 0x98ffffff
inc bl
push edx
mov byte [0x10047ba3], bl
call fcn.10007700
mov cl, byte [0x10047ba5]
lea edx, [ebp - 0xdc]
add cl, al
lea eax, [ebp - 0x9c]
mov byte [0x10047ba5], cl
lea ecx, [ebp - 0xfc]
push eax
push ecx
push edx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0x14
mov esi, dword [0x1004156c]
mov byte [ebp - 4], 6
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov esi, eax
mov al, byte [ebp + 0xb]
push 0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 0x1c], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [ebp - 0x1c]
push ebx
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 0x10013627
mov edi, dword [ebp - 0x18]
mov ecx, ebx
mov edx, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x1c]
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_]
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
push eax
lea edx, [ebp - 0xec]
push ecx
push edx
mov byte [ebp - 4], 7
call fcn.10029e30
add esp, 0xc
push 1
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 9
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x10047bd0]
push 0xca67ffff
push eax
call fcn.10007740
mov dl, byte [0x10047ba8]
mov ebx, dword [0x10047bd8]
mov word [0x10047bb4], ax
or cl, 0xff
xor eax, eax
add esp, 8
sub cl, dl
cmp word [0x10047baa], ax
lea edx, [ebp + 8]
mov byte [0x10047ba2], cl
setne al
add ebx, eax
push edx
mov ecx, 0x10048080
mov dword [0x10047bd8], ebx
call fcn.100196c0
push 0x836dffff
push 0xd2c5ffff
call fcn.10007740
mov bl, byte [0x10047ba0]
add bl, al
movsx eax, byte [0x10047ba7]
push eax
push 0x2517ffff
mov byte [0x10047ba0], bl
call fcn.10007880
lea ecx, [ebp - 0xdc]
push 0
lea edx, [ebp - 0xbc]
push ecx
push edx
mov dword [0x10047be0], eax
call fcn.10015f80
mov al, byte [ebp - 0xdc]
add esp, 0xc
mov esi, esp
mov dword [ebp + 0x10], esp
push 0
mov ecx, esi
mov byte [ebp - 4], 0xa
mov byte [esi], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea eax, [ebp - 0xdc]
mov edx, dword [ecx]
mov ecx, esi
push edx
push 0
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
lea ecx, [ebp - 0x3c]
push ecx
call fcn.10011f10
add esp, 0x14
lea edx, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0xb
push edx
mov ecx, 0x100480a0
call fcn.100191c0
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [0x100480a4]
mov ecx, dword [ebp - 0x48]
cmp ecx, eax
mov word [0x10047bbc], 0
je 0x10014912
mov al, byte [ebp + 0xb]
push 0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x2c], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
movsx ecx, word [0x10047baa]
push ecx
push 0x4153ffff
mov byte [ebp - 4], 0xc
call fcn.10007880
push 0xe403ffff
push 0x8d51ffff
mov word [0x10047bb4], ax
call fcn.10007650
add esp, 0x10
mov byte [0x10047ba8], al
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
add byte [0x10047ba1], al
call fcn.10003fb0
cmp eax, 1
je 0x1001391c
call fcn.10003fb0
cmp eax, 5
je 0x1001391c
push 0x25f9ffff
push 0x174fffff
call fcn.10007700
movsx edx, word [0x10047bbc]
mov dword [0x10047bd8], eax
push edx
movsx eax, word [0x10047bb4]
push eax
call fcn.100078b0
mov cl, byte [0x10047baa]
mov esi, dword [0x100415b4]
mov word [0x10047bbc], ax
mov al, byte [0x10047bb2]
or cl, al
add esp, 0x10
mov byte [0x10047ba0], cl
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [ebp - 0x2c]
push ebx
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 0x1001387e
mov edi, dword [ebp - 0x28]
mov ecx, ebx
mov edx, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x2c]
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 [ebp - 0x48]
add eax, 0x20
mov ecx, eax
mov edx, dword [ecx]
mov dword [ebp - 0x3c], edx
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 [ecx + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x30], ecx
mov ecx, dword [edx]
push ecx
push 0
push eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
movsx edx, word [0x10047bae]
mov eax, dword [0x10047bd8]
push edx
push eax
mov word [0x10047bb0], 0xffff
call fcn.10007700
mov cl, byte [0x10047ba3]
mov esi, dword [0x100415b8]
add cl, al
add esp, 8
mov byte [0x10047ba3], cl
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
jmp 0x1001440e
mov esi, dword [0x10041570]
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov cl, byte [ebp + 0xb]
push 0
mov byte [ebp - 0x1c], cl
lea ecx, [ebp - 0x1c]
mov esi, eax
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [ebp - 0x1c]
push ebx
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 0x1001398c
mov edi, dword [ebp - 0x18]
mov ecx, ebx
mov edx, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x1c]
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_]
movsx eax, byte [0x10047ba2]
mov bl, 0xd
push 0x5111ffff
push eax
mov byte [ebp - 4], bl
call fcn.100076b0
movsx ecx, byte [0x10047ba3]
push 0xcd25ffff
push ecx
mov word [0x10047bbc], ax
call fcn.10007740
add word [0x10047bae], ax
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea edx, [ebp - 0x3c]
push eax
push edx
call fcn.1002c100
add esp, 8
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0xe
mov edx, dword [ecx]
lea ecx, [ebp - 0x1c]
push edx
push 0
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov al, byte [0x10047ba0]
mov cl, byte [0x10047ba6]
imul byte [0x10047ba1]
mov esi, dword [0x10041574]
add cl, al
mov byte [0x10047ba6], cl
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [ebp - 0x2c]
push ebx
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 0x10013a77
mov edi, dword [ebp - 0x28]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x2c]
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_]
movsx ecx, byte [0x10047ba6]
movsx edx, word [0x10047bb0]
mov al, byte [0x10047be4]
or ecx, edx
inc al
mov dword [0x10047bc8], ecx
mov byte [0x10047ba4], al
movsx eax, al
push eax
push 0x527ffff
call fcn.100078b0
mov esi, dword [0x10041578]
mov dword [0x10047bd4], eax
add esp, 8
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov esi, dword [sym.imp.KERNEL32.dll_IsBadCodePtr]
push 0x1543ffff
call esi
movsx ecx, byte [0x10047ba2]
movsx edx, byte [0x10047ba6]
push ecx
push edx
mov dword [0x10047bd0], eax
call fcn.100078b0
mov edi, dword [0x1004157c]
mov dword [0x10047bc0], eax
mov ax, word [0x10047bba]
add esp, 8
mov word [0x10047bb6], ax
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 0x805dffff
push 0x271ffff
call fcn.10007700
mov ecx, dword [0x10047bd8]
mov edi, dword [0x10047bcc]
add ecx, eax
add esp, 8
mov dword [0x10047bd8], ecx
movsx ecx, byte [0x10047ba0]
and ecx, 0xdc03ffff
add edi, ecx
inc word [0x10047bb2]
mov dword [0x10047bcc], edi
mov edi, dword [0x10041580]
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov edi, dword [0x10047bd8]
xor edx, edx
test edi, edi
mov edi, dword [0x10041584]
setne dl
mov dword [0x10047bdc], edx
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
movsx eax, byte [0x10047ba9]
movsx ecx, word [0x10047bba]
push eax
push ecx
call fcn.10007740
push 0x8303ffff
push 0xec31ffff
mov dword [0x10047bd8], eax
call fcn.10007650
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
add esp, 0x10
mov dword [0x10047bc8], eax
lea ecx, [ebp - 0x1c]
mov eax, dword [edx]
push eax
push 0
push ecx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
movsx edx, byte [0x10047ba3]
movsx eax, word [0x10047bb2]
push edx
push eax
call fcn.10007780
mov ecx, dword [0x10047bc4]
push 0xb089ffff
push ecx
mov byte [0x10047ba3], al
call fcn.10007650
mov edx, dword [0x10047bd4]
mov edi, dword [0x10041588]
add esp, 0x10
add edx, eax
mov dword [0x10047bd4], edx
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
movsx edx, word [0x10047bb4]
push edx
push 0xb3cfffff
call fcn.10007780
mov edi, dword [0x10041580]
mov dword [0x10047bc8], eax
mov al, byte [0x10047bb4]
add esp, 8
dec al
mov byte [0x10047ba2], al
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 0xfe1bffff
push 0x27fffff
call fcn.10007650
add byte [0x10047ba2], al
movsx ecx, byte [0x10047ba7]
push ecx
push 0x50e7ffff
call fcn.10007650
mov cl, byte [0x10047ba6]
mov edi, dword [0x1004158c]
add cl, al
add esp, 0x10
mov byte [0x10047ba6], cl
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov dl, byte [0x10047bbc]
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 byte [0x10047ba0], dl
lea edx, [ebp - 0x1c]
mov ecx, dword [eax]
push ecx
push 0
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov edi, dword [0x10041590]
mov byte [0x10047ba6], al
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov eax, dword [0x10047bc8]
push eax
push 0xf1c3ffff
call fcn.10007740
movsx ecx, word [0x10047bba]
push ecx
push 0x9c6bffff
mov word [0x10047bb6], ax
call fcn.10007700
movsx edx, byte [0x10047ba3]
mov edi, dword [0x10041594]
add word [0x10047bae], ax
and edx, 0xbad3ffff
add esp, 0x10
mov dword [0x10047bd0], edx
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov eax, dword [0x10047bd4]
push 0x24cfffff
push eax
call fcn.10007830
mov bl, byte [0x10047ba5]
mov byte [0x10047ba9], al
inc bl
push 0xaa49ffff
mov byte [0x10047ba5], bl
push 0xa8a3ffff
call fcn.100078b0
mov edi, dword [0x10041598]
mov dword [0x10047bc8], eax
add esp, 0x10
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov dl, byte [0x10047ba4]
mov cl, byte [0x10047ba7]
xor eax, eax
test dl, dl
setne al
add cl, al
cmp word [0x10047bba], 0
mov byte [0x10047ba7], cl
jne 0x10013f52
mov al, byte [0x10047ba6]
mov byte [0x10047ba5], 0
test al, al
je 0x10013f59
mov byte [0x10047ba5], 1
movsx ecx, word [0x10047bb6]
push 0x6785ffff
push ecx
call fcn.100078b0
mov edi, dword [0x1004159c]
mov byte [0x10047ba8], al
add esp, 8
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov cl, byte [0x10047ba6]
mov edx, dword [0x10047bc0]
inc cl
push edx
mov byte [0x10047ba6], cl
call esi
movsx ecx, word [0x10047bb0]
mov dword [0x10047bcc], eax
movsx eax, word [0x10047bba]
push eax
push ecx
call fcn.10007880
mov edi, dword [0x10041580]
mov dword [0x10047bcc], eax
add esp, 8
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
movsx edx, byte [0x10047ba8]
push edx
push 0xc609ffff
call fcn.10007740
mov edi, dword [0x1004158c]
mov dword [0x10047bd4], eax
add esp, 8
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov ecx, dword [0x10047bd0]
push 0x9fb1ffff
test ecx, ecx
setne al
push 0x209ffff
mov byte [0x10047ba0], al
call fcn.10007700
mov dl, byte [0x10047ba6]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
add dl, al
add esp, 8
mov byte [0x10047ba6], dl
mov edx, dword [ecx]
push edx
lea eax, [ebp - 0x1c]
push 0
push eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov ecx, dword [0x10047bcc]
push 0x2c07ffff
push ecx
call fcn.10007880
movsx edx, word [0x10047bb6]
push edx
push 0x138dffff
mov word [0x10047bb0], ax
call fcn.10007740
mov edx, dword [0x10047bdc]
mov edi, dword [0x100415a0]
add edx, eax
add esp, 0x10
mov dword [0x10047bdc], edx
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 0x8abbffff
push 0x278fffff
call fcn.100075f0
mov edi, dword [0x100415a4]
mov dword [0x10047bc4], eax
mov byte [0x10047ba9], 1
add esp, 8
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
movsx eax, byte [0x10047ba7]
push 0x43e1ffff
push eax
call fcn.10007740
mov edi, dword [0x10041598]
add word [0x10047bb4], ax
add esp, 8
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 0x9fddffff
push 0x4031ffff
call fcn.10007700
add byte [0x10047ba8], al
movsx ecx, word [0x10047bba]
push ecx
push 0xbf31ffff
call fcn.10007880
mov edx, dword [0x10047bd8]
mov edi, dword [0x10041598]
add esp, 0x10
inc edx
mov dword [0x10047be0], eax
mov dword [0x10047bd8], edx
mov al, byte [edi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, edi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
movsx edx, word [0x10047bba]
push edx
call esi
add word [0x10047bb8], ax
push 0x7e87ffff
movsx eax, word [0x10047bb0]
push eax
call fcn.10007650
mov esi, dword [0x100415a8]
add esp, 8
add word [0x10047bac], ax
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
push 0x3685ffff
push 0x1d2bffff
call fcn.10007830
mov ebx, dword [0x10047bd8]
mov esi, dword [0x100415ac]
add ebx, eax
add esp, 8
mov dword [0x10047bd8], ebx
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
movsx cx, byte [0x10047ba6]
sub word [0x10047bae], cx
mov ecx, dword [0x10047be0]
mov al, byte [0x10047bc4]
imul cl
mov byte [0x10047ba4], al
mov eax, dword [ebp - 0x48]
add eax, 0x20
lea edx, [ecx + 0x58b00001]
mov ecx, eax
mov dword [0x10047bdc], edx
mov edx, dword [ecx]
mov dword [ebp - 0x3c], edx
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 [ecx + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x30], ecx
mov ecx, dword [edx]
push ecx
push 0
push eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
cmp word [0x10047bae], 0
jne 0x10014398
mov eax, dword [0x10047be4]
mov word [0x10047bb4], 0
test eax, eax
je 0x100143a1
mov word [0x10047bb4], 1
mov esi, dword [0x100415b0]
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
movsx edx, byte [0x10047ba4]
push 0x2b2dffff
push edx
call fcn.10007880
mov ecx, dword [0x10047bd0]
add esp, 8
add ecx, eax
mov byte [ebp - 4], 0xc
mov dword [0x10047bd0], ecx
push 1
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
xor eax, eax
push 0
cmp word [0x10047bbc], ax
lea ecx, [ebp - 0x78]
setne al
add word [0x10047bac], ax
mov al, byte [ebp + 0xb]
mov byte [ebp - 0x78], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov cl, byte [ebp + 0xb]
push 0
mov byte [ebp - 0x68], cl
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xf
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea edx, [ebp + 0x13]
lea ecx, [ebp - 0x58]
push edx
mov byte [ebp - 4], 0x10
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
mov esi, dword [0x100415bc]
mov byte [ebp - 4], 0x11
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [ebp - 0x58]
push ebx
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 0x100144bb
mov edi, dword [ebp - 0x54]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x58]
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_]
movsx ecx, word [0x10047bbc]
mov edx, dword [0x10047be4]
push ecx
push edx
call fcn.100077d0
mov edx, dword [0x10047bd8]
mov esi, dword [0x100415c0]
add edx, eax
add esp, 8
movsx ax, byte [0x10047ba6]
dec eax
mov dword [0x10047bd8], edx
mov word [0x10047bba], ax
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov esi, dword [0x100415c4]
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
movsx ecx, byte [0x10047ba5]
mov bl, byte [0x10047ba8]
imul ecx, ecx, 0x6ca1ffff
mov esi, dword [0x100415c8]
dec bl
mov dword [0x10047be4], ecx
mov byte [0x10047ba8], bl
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x3c]
push edx
push eax
call fcn.1002c300
add esp, 8
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0x12
mov edx, dword [ecx]
lea ecx, [ebp - 0x58]
push edx
push 0
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x11
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov cl, byte [0x10047ba6]
mov ebx, dword [0x10047be0]
mov esi, dword [0x100415cc]
xor eax, eax
test cl, cl
setne al
add ebx, eax
mov dword [0x10047be0], ebx
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const___unsigned_int_]
mov esi, dword [0x100415cc]
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov ebx, eax
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
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 edx, dword [ebp - 0x50]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [eax]
sub ecx, edx
cmp ecx, esi
ja 0x10014697
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
test esi, esi
jbe 0x100146dc
mov edx, dword [ebp - 0x50]
push 0
lea ecx, [ebp - 0x58]
lea eax, [esi + edx]
push eax
mov dword [ebp + 0xc], eax
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 0x100146dc
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
lea edi, [ecx + eax]
mov ecx, esi
mov edx, ecx
mov esi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0xc]
mov ecx, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x58]
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_]
movsx ecx, word [0x10047bb4]
movsx edx, word [0x10047bb6]
push ecx
push edx
call fcn.10007700
mov cl, byte [0x10047ba7]
add cl, al
mov eax, dword [0x10047be4]
mov byte [0x10047ba7], cl
push eax
movsx ecx, word [0x10047bb0]
push ecx
call fcn.10007830
mov dl, byte [0x10047ba1]
add esp, 0x10
add dl, al
lea ecx, [ebp - 0x2c]
mov byte [0x10047ba1], dl
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]
push eax
push 0
push ecx
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
lea edx, [ebp + 0xf]
lea ecx, [ebp - 0x130]
push edx
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea eax, [ebp - 0x89]
lea ecx, [ebp - 0x120]
push eax
mov byte [ebp - 4], 0x13
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea ecx, [ebp - 0x3d]
mov byte [ebp - 4], 0x14
push ecx
lea ecx, [ebp - 0x110]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea edx, [ebp - 0x130]
lea eax, [ebp + 8]
mov bl, 0x15
push edx
push eax
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], bl
call fcn.10019870
lea ecx, [ebp - 0x14]
push eax
push ecx
mov ecx, 0x10048080
mov byte [ebp - 4], 0x16
call fcn.100195d0
mov esi, dword [eax]
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], bl
call fcn.10015d80
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x11
call fcn.10015d80
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea ecx, [ebp - 0x78]
add esi, 0x10
mov eax, dword [edx]
push eax
push 0
push ecx
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea ecx, [ebp - 0x68]
mov eax, dword [edx]
push eax
push 0
push ecx
lea ecx, [esi + 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea ecx, [ebp - 0x58]
mov eax, dword [edx]
push eax
push 0
push ecx
lea ecx, [esi + 0x20]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov edx, dword [0x10047be0]
mov eax, dword [0x10047bcc]
push 0xaee3ffff
lea ecx, [eax + edx + 0x2e2dffff]
movsx edx, byte [0x10047ba4]
push edx
mov dword [0x10047bcc], ecx
call fcn.10007650
add word [0x10047bb0], ax
mov eax, dword [ebp - 0x48]
add esp, 8
mov ecx, dword [eax + 0x28]
lea esi, [eax + 0x1c]
push 0
lea edx, [ecx + 0x10]
mov dword [esi + 0xc], edx
call fcn.1001dbe0
mov ecx, dword [esi + 0x2c]
dec ecx
mov eax, ecx
mov dword [esi + 0x2c], ecx
test eax, eax
je 0x1001486e
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x10014875
mov ecx, esi
call fcn.1001ab80
movsx ecx, byte [0x10047ba5]
mov dl, byte [0x10047ba6]
mov eax, dword [ebp - 0x48]
add ecx, 0x7595ffff
inc dl
mov dword [0x10047bcc], ecx
mov byte [0x10047ba6], dl
mov ecx, dword [eax + 0x48]
test ecx, ecx
ja 0x100148af
lea edx, [ebp + 0xc]
push eax
push edx
mov ecx, 0x100480a0
call fcn.10018c80
mov ecx, dword [0x10047bdc]
mov bl, byte [0x10047ba8]
xor eax, eax
mov dword [ebp - 0x44], 3
test ecx, ecx
setne al
add bl, al
mov byte [0x10047ba8], bl
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x18
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
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x17
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
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xc
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
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
jmp 0x10015b23
mov eax, dword [ebp - 0xb4]
test eax, eax
jbe 0x1001545c
inc word [0x10047bb0]
mov word [0x10047bae], 0xfffe
call fcn.10017d70
test al, al
je 0x10015b23
lea eax, [ebp - 0x1c]
push eax
call fcn.1000ac60
mov ecx, dword [0x10047bcc]
mov byte [ebp - 4], 0x19
push ecx
push 0xaa8fffff
call fcn.10007650
mov edi, dword [0x10047bc8]
push 0xe5cfffff
add edi, eax
push 0xac99ffff
mov dword [0x10047bc8], edi
call fcn.10007830
mov dword [0x10047bc4], eax
lea edx, [ebp - 0xbc]
lea eax, [ebp - 0x3c]
push edx
push eax
call fcn.10008b50
add esp, 0x1c
lea ecx, [ebp - 0x3c]
push 1
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov esi, dword [0x100415d0]
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov ebx, eax
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x14]
sub edx, ecx
cmp edx, esi
ja 0x100149e4
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
test esi, esi
jbe 0x10014a28
mov eax, dword [ebp - 0x14]
push 0
add eax, esi
lea ecx, [ebp - 0x1c]
push eax
mov dword [ebp + 0x10], eax
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 0x10014a28
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
lea edi, [edx + ecx]
mov ecx, esi
mov eax, ecx
mov esi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x1c]
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_]
movsx edx, word [0x10047bba]
movsx eax, word [0x10047bb0]
push edx
push eax
call fcn.10007780
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
add esp, 8
dec word [0x10047bb6]
mov word [0x10047bae], ax
mov word [0x10047baa], 0xffff
mov edx, dword [ecx]
push edx
lea eax, [ebp - 0xbc]
push 0
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov esi, dword [0x100415d4]
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov ebx, eax
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x14]
sub edx, ecx
cmp edx, esi
ja 0x10014aba
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
test esi, esi
jbe 0x10014afe
mov eax, dword [ebp - 0x14]
push 0
add eax, esi
lea ecx, [ebp - 0x1c]
push eax
mov dword [ebp + 0x10], eax
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 0x10014afe
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
lea edi, [edx + ecx]
mov ecx, esi
mov eax, ecx
mov esi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x1c]
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 dx, word [0x10047bb6]
push 0x14f5ffff
and dx, word [0x10047bae]
push 0xa427ffff
mov word [0x10047bba], dx
call fcn.10007650
movsx ecx, byte [0x10047ba9]
mov word [0x10047bb6], ax
mov eax, dword [0x10047be0]
push eax
push ecx
call fcn.10007650
mov edi, dword [0x10047bd8]
lea edx, [ebp - 0xdc]
add edi, eax
lea eax, [ebp - 0x3c]
push edx
push eax
mov dword [0x10047bd8], edi
call fcn.10016490
add esp, 0x18
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0x1a
mov edx, dword [ecx]
lea ecx, [ebp - 0x1c]
push edx
push 0
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x19
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov esi, dword [0x100415d8]
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov esi, eax
mov al, byte [ebp + 0xb]
push 0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x2c], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [ebp - 0x2c]
push ebx
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 0x10014bf4
mov edi, dword [ebp - 0x28]
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 eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], ebx
mov byte [eax + ebx], 0
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0xcc]
push ecx
lea eax, [ebp - 0x88]
push edx
push eax
mov byte [ebp - 4], 0x1b
call fcn.10029e30
lea ecx, [ebp - 0x3c]
mov bl, 0x1c
push eax
push ecx
mov byte [ebp - 4], bl
call fcn.10016490
add esp, 0x14
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 byte [ebp - 4], 0x1d
mov ecx, dword [edx]
push ecx
push 0
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], bl
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
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x1b
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
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x19
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
movsx edx, byte [0x10047ba3]
push 0x3cbffff
push edx
call fcn.100078b0
mov ecx, dword [0x10047be0]
mov edx, dword [0x10047bc0]
mov esi, dword [0x100415dc]
mov byte [0x10047ba4], al
mov ax, word [0x10047bc4]
add esp, 8
sub word [0x10047bb0], ax
lea eax, [ecx + edx + 0x13d3ffff]
mov dword [0x10047be0], eax
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov ebx, eax
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x14]
sub edx, ecx
cmp edx, esi
ja 0x10014cf1
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
test esi, esi
jbe 0x10014d35
mov eax, dword [ebp - 0x14]
push 0
add eax, esi
lea ecx, [ebp - 0x1c]
push eax
mov dword [ebp + 0x10], eax
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 0x10014d35
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
lea edi, [edx + ecx]
mov ecx, esi
mov eax, ecx
mov esi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x1c]
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 esi, dword [0x100415e0]
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov dl, byte [ebp + 0xb]
push 0
lea ecx, [ebp - 0x2c]
mov esi, eax
mov byte [ebp - 0x2c], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [ebp - 0x2c]
push ebx
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 0x10014da5
mov edi, dword [ebp - 0x28]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], ebx
mov byte [ecx + ebx], 0
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0xcc]
push edx
lea ecx, [ebp - 0x3c]
mov bl, 0x1e
push eax
push ecx
mov byte [ebp - 4], bl
call fcn.10029e30
add esp, 0xc
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 byte [ebp - 4], 0x1f
mov ecx, dword [edx]
push ecx
push 0
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], bl
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
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x19
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
movsx edx, byte [0x10047ba1]
movsx eax, word [0x10047bba]
push edx
push eax
call fcn.10007830
mov ebx, dword [0x10047be4]
mov esi, dword [0x100415e4]
movsx cx, byte [0x10047ba7]
add ebx, eax
mov word [0x10047bbc], cx
mov dword [0x10047be4], ebx
mov word [0x10047bb8], 1
mov al, byte [esi]
add esp, 8
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov ebx, eax
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
repne scasb al, byte es:[edi]
mov eax, dword [edx]
mov edx, dword [ebp - 0x14]
not ecx
dec ecx
sub eax, edx
mov esi, ecx
cmp eax, esi
ja 0x10014e7e
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
test esi, esi
jbe 0x10014ec3
mov ecx, dword [ebp - 0x14]
push 0
lea eax, [ecx + esi]
lea ecx, [ebp - 0x1c]
push eax
mov dword [ebp + 0x10], eax
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 0x10014ec3
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, esi
mov esi, ebx
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x10]
mov ecx, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x1c]
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 esi, dword [0x100415e8]
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov cl, byte [ebp + 0xb]
mov edx, eax
mov byte [ebp - 0x2c], cl
xor esi, esi
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0xcc]
push edx
lea ecx, [ebp - 0x88]
push eax
push ecx
mov byte [ebp - 4], 0x20
call fcn.10029e30
add esp, 0xc
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 byte [ebp - 4], 0x21
mov ecx, dword [edx]
push ecx
push esi
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x84]
cmp eax, esi
je 0x10014f6c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10014f63
cmp al, 0xff
je 0x10014f63
dec al
mov byte [ecx], al
jmp 0x10014f6c
push ecx
call fcn.1002cda0
add esp, 4
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x84], esi
cmp eax, esi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], esi
mov byte [ebp - 4], 0x19
je 0x10014fa0
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10014f97
cmp al, 0xff
je 0x10014f97
dec al
mov byte [ecx], al
jmp 0x10014fa0
push ecx
call fcn.1002cda0
add esp, 4
mov edx, dword [0x10047bdc]
push edx
push 0x4133ffff
call fcn.10007830
mov bl, byte [0x10047ba4]
mov esi, dword [0x100415ec]
add bl, al
add esp, 8
mov byte [0x10047ba4], bl
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov ebx, eax
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
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 edx, dword [ebp - 0x14]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [eax]
sub ecx, edx
cmp ecx, esi
ja 0x1001500a
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
test esi, esi
jbe 0x1001504f
mov edx, dword [ebp - 0x14]
push 0
lea ecx, [ebp - 0x1c]
lea eax, [edx + esi]
push eax
mov dword [ebp + 0x10], eax
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 0x1001504f
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
lea edi, [ecx + eax]
mov ecx, esi
mov edx, ecx
mov esi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x10]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov byte [ecx + eax], 0
lea edx, [ebp - 0xdc]
lea ecx, [ebp - 0x190]
push edx
call fcn.1002b250
mov byte [ebp - 4], 0x22
call dword [sym.imp.USER32.dll_GetCapture]
mov bl, byte [0x10047ba8]
add bl, al
mov al, byte [0x10047bac]
push eax
mov byte [0x10047ba8], bl
call dword [sym.imp.USER32.dll_IsCharLowerA]
mov ecx, dword [0x10047be4]
add word [0x10047bbc], ax
push 0x9077ffff
push ecx
call fcn.10007830
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
add word [0x10047bb2], ax
add esp, 8
lea ecx, [ebp - 0x160]
mov eax, dword [edx]
push eax
push 0
push ecx
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov esi, dword [0x100415f0]
mov al, byte [esi]
sub al, 0x7b
and eax, 0xff
add eax, 3
and al, 0xfc
call fcn.1002ce30
mov ecx, esp
mov edx, esi
call fcn.10008f20
mov ebx, eax
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
repne scasb al, byte es:[edi]
mov eax, dword [edx]
mov edx, dword [ebp - 0x14]
not ecx
dec ecx
sub eax, edx
mov esi, ecx
cmp eax, esi
ja 0x1001510b
call dword [sym.imp.MSVCP60.dll_void___cdecl_std::_Xlen_void_]
xor edi, edi
cmp esi, edi
jbe 0x10015153
mov ecx, dword [ebp - 0x14]
push edi
lea eax, [ecx + esi]
lea ecx, [ebp - 0x1c]
push eax
mov dword [ebp + 0x10], eax
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 0x10015153
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, esi
mov esi, ebx
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x10]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
xor edi, edi
mov byte [ecx + eax], 0
push 0x793ffff
push 0x3519ffff
call fcn.10007650
mov cl, byte [0x10047ba5]
push 8
add cl, al
inc word [0x10047bb4]
mov byte [0x10047ba5], cl
call fcn.100040d0
inc eax
push eax
push 8
call fcn.10004170
push 8
call fcn.100040d0
lea edx, [ebp - 0x3c]
push eax
push edx
call fcn.1002c300
add esp, 0x20
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0x23
mov edx, dword [ecx]
lea ecx, [ebp - 0x1c]
push edx
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0x22
cmp eax, edi
je 0x100151db
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x100151d2
cmp al, 0xff
je 0x100151d2
dec al
mov byte [ecx], al
jmp 0x100151db
push ecx
call fcn.1002cda0
add esp, 4
mov eax, dword [0x10047bd8]
mov ecx, dword [0x10047bdc]
push eax
push ecx
call fcn.10007740
movsx edx, byte [0x10047ba9]
sub edx, 0x60a00001
push 0x30
mov byte [0x10047ba6], al
mov dword [0x10047bdc], edx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 0xc
mov dword [ebp + 0x10], esi
cmp esi, edi
mov byte [ebp - 4], 0x24
je 0x10015252
mov al, byte [ebp + 0xb]
push edi
mov ecx, esi
mov byte [esi], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov dl, byte [ebp + 0xb]
lea ecx, [esi + 0x10]
push edi
mov byte [ebp - 4], 0x25
mov byte [ecx], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov al, byte [ebp + 0xb]
lea ecx, [esi + 0x20]
push edi
mov byte [ebp - 4], 0x26
mov byte [ecx], al
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
jmp 0x10015254
xor esi, esi
push 0x40d1ffff
push 0xa32fffff
mov byte [ebp - 4], 0x22
mov dword [0x10047bcc], 0x403a0000
call fcn.100078b0
lea ecx, [ebp - 0x3c]
push 2
push ecx
mov byte [0x10047ba7], al
call fcn.10004260
add esp, 0x10
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 byte [ebp - 4], 0x27
mov ecx, dword [edx]
push ecx
push edi
push eax
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0x22
cmp eax, edi
je 0x100152c3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x100152ba
cmp al, 0xff
je 0x100152ba
dec al
mov byte [ecx], al
jmp 0x100152c3
push ecx
call fcn.1002cda0
add esp, 4
lea edx, [ebp - 0x1c]
lea eax, [ebp - 0x3c]
push edx
push eax
call fcn.10008b50
add esp, 8
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0x28
mov edx, dword [ecx]
lea ecx, [esi + 0x10]
push edx
push edi
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0x22
cmp eax, edi
je 0x10015313
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x1001530a
cmp al, 0xff
je 0x1001530a
dec al
mov byte [ecx], al
jmp 0x10015313
push ecx
call fcn.1002cda0
add esp, 4
dec word [0x10047bba]
push 0x6357ffff
push 0x1b15ffff
call fcn.10007650
add word [0x10047bb8], ax
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
add esp, 8
lea edx, [ebp - 0xbc]
mov ecx, dword [eax]
push ecx
push edi
push edx
lea ecx, [esi + 0x20]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
lea eax, [ebp + 0xc]
push eax
push edi
push esi
push 0x10016d10
push edi
push edi
push 4
call fcn.100099d0
add esp, 4
call eax
push eax
push edi
call fcn.100099d0
add esp, 4
call eax
push 0xe35dffff
push 0x5b2fffff
call fcn.10007700
movsx ecx, word [0x10047bb0]
push ecx
push 0xb779ffff
mov word [0x10047baa], ax
call fcn.10007700
mov dl, byte [0x10047ba7]
add esp, 0x10
add dl, al
lea ecx, [ebp - 0x140]
push 1
mov byte [0x10047ba7], dl
mov byte [ebp - 4], 0x19
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
lea ecx, [ebp - 0x150]
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
lea ecx, [ebp - 0x160]
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
lea ecx, [ebp - 0x170]
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
lea ecx, [ebp - 0x180]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [ebp - 0x18c]
cmp eax, edi
je 0x1001541a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10015411
cmp al, 0xff
je 0x10015411
dec al
mov byte [ecx], al
jmp 0x1001541a
push ecx
call fcn.1002cda0
add esp, 4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18c], edi
cmp eax, edi
mov dword [ebp - 0x188], edi
mov dword [ebp - 0x184], edi
je 0x10015b23
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x1001544e
cmp al, 0xff
je 0x1001544e
dec al
mov byte [ecx], al
jmp 0x10015b23
push ecx
call fcn.1002cda0
add esp, 4
jmp 0x10015b23
push 0xc869ffff
push 0xa3ffff
call fcn.100077d0
mov ebx, dword [0x10047bd0]
lea edx, [ebp - 0xec]
add ebx, eax
lea eax, [ebp - 0xdc]
push edx
push eax
mov dword [0x10047bd0], ebx
call fcn.10016c40
add esp, 0x10
test al, al
jne 0x10015b23
movsx eax, word [0x10047bac]
push eax
push eax
call fcn.10007780
movsx ecx, byte [0x10047ba7]
movsx edx, al
push ecx
push edx
mov byte [0x10047ba6], al
call fcn.100075f0
mov esi, dword [0x10047bdc]
push 0x477dffff
add esi, eax
mov eax, dword [0x10047be4]
push eax
mov dword [0x10047bdc], esi
call fcn.100076b0
mov edi, dword [0x10047bc4]
lea ecx, [ebp - 0xec]
push 1
lea edx, [ebp - 0x3c]
add edi, eax
push ecx
push edx
mov dword [0x10047bc4], edi
call fcn.10015f80
add esp, 0x24
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov byte [ebp - 4], 0x29
mov edx, dword [ecx]
lea ecx, [ebp - 0xbc]
push edx
push 0
push eax
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0xa
test eax, eax
je 0x10015540
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10015537
cmp al, 0xff
je 0x10015537
dec al
mov byte [ecx], al
jmp 0x10015540
push ecx
call fcn.1002cda0
add esp, 4
mov eax, dword [ebp - 0xb4]
test eax, eax
jbe 0x10015b23
push 0xdd81ffff
push 0xfbbbffff
call fcn.10007880
mov cl, byte [0x10047ba0]
add esp, 8
add cl, al
mov dword [ebp - 0x100], 0x100480b0
push 0x100480b0
push 0xa
mov byte [0x10047ba0], cl
call fcn.100099d0
add esp, 4
call eax
lea eax, [ebp - 0xbc]
mov ecx, 0x100480e8
push eax
mov byte [ebp - 4], 0x2a
call fcn.1001cc70
mov ecx, dword [0x100480ec]
mov dword [ebp + 0x10], eax
cmp eax, ecx
je 0x100155c8
add eax, 0xc
lea ecx, [ebp - 0xbc]
push eax
push ecx
call dword [0x1004007c]
add esp, 8
test al, al
jne 0x100155c8
lea eax, [ebp + 0x10]
jmp 0x100155d4
mov edx, dword [0x100480ec]
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], edx
mov esi, dword [eax]
movsx eax, word [0x10047bbc]
push eax
push 0xb2edffff
call fcn.100076b0
mov dword [0x10047bc4], eax
mov eax, dword [0x100480ec]
add esp, 8
cmp esi, eax
je 0x10015b0e
lea ecx, [esi + 0x20]
push 0
mov edx, dword [ecx]
mov dword [ebp - 0x3c], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x38], eax
mov edi, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x30], ecx
mov dl, byte [edi]
lea ecx, [ebp - 0x78]
mov byte [ebp - 0x78], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
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 ecx, dword [eax]
push ecx
push 0
push edi
lea ecx, [ebp - 0x78]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov dl, byte [edi + 0x10]
lea ebx, [edi + 0x10]
push 0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x2b
mov byte [ebp - 0x68], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
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 ecx, dword [eax]
push ecx
push 0
push ebx
lea ecx, [ebp - 0x68]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov dl, byte [edi + 0x20]
add edi, 0x20
push 0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x2c
mov byte [ebp - 0x58], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
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 ecx, dword [eax]
push ecx
push 0
push edi
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov edx, dword [0x10047bc4]
mov byte [ebp - 4], 0x2d
inc edx
mov dword [0x10047bc4], edx
mov ecx, dword [esi + 0x28]
lea edx, [ecx + 0x30]
mov dword [esi + 0x28], edx
call fcn.10015d80
mov ecx, dword [esi + 0x48]
dec ecx
mov eax, ecx
mov dword [esi + 0x48], ecx
test eax, eax
je 0x100156ca
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x24]
cmp eax, ecx
jne 0x10015762
mov eax, dword [esi + 0x2c]
lea ecx, [eax + 4]
mov dword [esi + 0x2c], ecx
mov eax, dword [eax]
push eax
call fcn.1002cda0
mov eax, dword [esi + 0x48]
add esp, 4
test eax, eax
jne 0x1001572f
lea ecx, [ebp - 0x88]
call fcn.1001ced0
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
lea edx, [esi + 0x20]
mov edi, dword [ebp - 0x7c]
mov ebx, edx
mov edx, dword [ebp - 0x80]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edi
lea ebx, [esi + 0x30]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x40]
push eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edi
call fcn.1002cda0
add esp, 4
jmp 0x10015762
mov eax, dword [esi + 0x2c]
push eax
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0x88]
call fcn.1001ccc0
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
lea eax, [esi + 0x20]
mov dword [esi + 0x20], ecx
mov ecx, dword [ebp - 0x80]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x7c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [0x10047bc4], eax
push 0xf32dffff
movsx eax, byte [0x10047ba0]
push eax
call fcn.10007830
mov dl, byte [0x10047ba3]
mov ecx, dword [0x10047be0]
add esp, 8
add dl, al
inc ecx
mov byte [0x10047ba3], dl
mov dword [0x10047be0], ecx
mov eax, dword [esi + 0x48]
test eax, eax
ja 0x100157b3
lea ecx, [ebp + 0x10]
push esi
push ecx
mov ecx, 0x100480e8
call fcn.10019940
lea edx, [ebp + 0x13]
lea ecx, [ebp - 0x130]
push edx
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea eax, [ebp + 0xf]
lea ecx, [ebp - 0x120]
push eax
mov byte [ebp - 4], 0x2e
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea ecx, [ebp - 0x3d]
mov byte [ebp - 4], 0x2f
push ecx
lea ecx, [ebp - 0x110]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x130]
mov bl, 0x30
push eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], bl
mov dword [ebp - 0x164], edx
call fcn.10015e20
lea ecx, [ebp - 0x164]
lea edx, [ebp - 0x24]
push ecx
push edx
mov ecx, 0x10048080
mov byte [ebp - 4], 0x31
call fcn.1001ac00
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x24]
push eax
push ecx
lea ecx, [ebp - 0x14]
call fcn.1001a440
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], bl
call fcn.10015d80
push 1
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x33
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
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x32
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
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x2d
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
xor edi, edi
lea ecx, [ebp - 0x78]
add esi, 0x10
mov eax, dword [edx]
push eax
push edi
push ecx
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
lea ecx, [ebp - 0x68]
mov eax, dword [edx]
push eax
push edi
push ecx
lea ecx, [esi + 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___unsigned_int__unsigned_int_]
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 ecx, dword [ebp - 0x50]
add esi, 0x20
mov ebx, ecx
mov eax, dword [edx]
mov dword [ebp - 0x44], esi
cmp eax, ebx
jae 0x100158c6
mov ebx, eax
lea edx, [ebp - 0x58]
cmp esi, edx
jne 0x100158e6
push eax
push ebx
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::erase_unsigned_int__unsigned_int_]
push edi
push edi
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::erase_unsigned_int__unsigned_int_]
jmp 0x1001596c
cmp ebx, edi
jbe 0x1001592f
cmp ebx, ecx
jne 0x1001592f
mov eax, dword [ebp - 0x54]
cmp eax, edi
jne 0x100158fa
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
cmp byte [eax - 1], 0xfe
jae 0x1001592f
push 1
mov ecx, esi
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [ebp - 0x54]
cmp eax, edi
jne 0x10015916
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov dword [esi + 4], eax
mov ecx, dword [ebp - 0x50]
mov dword [esi + 8], ecx
mov edx, dword [ebp - 0x4c]
mov dword [esi + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x1001596c
push 1
push ebx
mov ecx, esi
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 0x1001596c
mov esi, dword [ebp - 0x54]
cmp esi, edi
jne 0x1001594b
mov esi, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov eax, dword [ebp - 0x44]
mov ecx, ebx
mov edx, ecx
push ebx
mov edi, dword [eax + 4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
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_]
xor edi, edi
call dword [sym.imp.USER32.dll_GetInputState]
mov bl, byte [0x10047ba4]
push 0xc22bffff
add bl, al
push 0x5f85ffff
mov byte [0x10047ba4], bl
mov dword [ebp - 0x44], 1
call fcn.100077d0
mov dword [0x10047bd4], eax
mov eax, dword [0x10047be0]
add esp, 8
cmp eax, edi
jne 0x100159b7
cmp word [0x10047bb4], di
mov byte [0x10047ba0], 0
je 0x100159be
mov byte [0x10047ba0], 1
push edi
mov byte [0x10047ba6], 0xff
call fcn.100040d0
inc eax
push eax
push edi
call fcn.10004170
movsx eax, word [0x10047bae]
movsx ecx, byte [0x10047ba8]
push eax
push ecx
call fcn.10007830
movsx edx, byte [0x10047ba7]
add word [0x10047bac], ax
mov eax, dword [0x10047bd8]
movsx ecx, word [0x10047bb8]
or edx, 0x8f0dffff
add eax, edx
mov dword [0x10047bd8], eax
movsx eax, word [0x10047bb2]
push eax
push ecx
call fcn.10007830
add word [0x10047bb2], ax
add esp, 0x1c
lea edx, [ebp - 0x3c]
push edx
push 0x11
call fcn.100099d0
add esp, 4
call eax
mov al, byte [0x10047bb4]
mov dl, byte [0x10047ba1]
sub al, dl
mov edx, dword [ebp - 0x32]
mov byte [0x10047ba9], al
mov eax, dword [ebp - 0x34]
and eax, 0xffff
and edx, 0xffff
mov word [0x10047bba], 0xffff
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp - 0x30]
and ecx, 0xffff
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4 + 1]
push eax
push 5
call fcn.10004170
movsx edx, word [0x10047baa]
mov esi, dword [0x10047be4]
or edx, 0x222bffff
add esi, edx
add esp, 8
mov dword [0x10047be4], esi
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x35
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [ebp - 0x64]
cmp eax, edi
je 0x10015ad8
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10015acf
cmp al, 0xff
je 0x10015acf
dec al
mov byte [ecx], al
jmp 0x10015ad8
push ecx
call fcn.1002cda0
add esp, 4
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x64], edi
cmp eax, edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x5c], edi
je 0x10015b05
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10015afc
cmp al, 0xff
je 0x10015afc
dec al
mov byte [ecx], al
jmp 0x10015b05
push ecx
call fcn.1002cda0
add esp, 4
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x6c], edi
push 0x100480b0
push 0x19
mov byte [ebp - 4], 0xa
call fcn.100099d0
add esp, 4
call eax
movsx ecx, word [0x10047bb8]
mov al, byte [0x10047ba4]
mov bl, byte [0x10047ba9]
mov edx, dword [0x10047be0]
sub bl, al
xor esi, esi
mov byte [0x10047ba9], bl
lea eax, [edx + ecx + 0x25280001]
mov cx, word [0x10047baa]
mov dword [0x10047be0], eax
mov eax, dword [ebp - 0xb8]
dec cx
cmp eax, esi
mov word [0x10047bb4], cx
je 0x10015b88
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10015b7f
cmp al, 0xff
je 0x10015b7f
dec al
mov byte [ecx], al
jmp 0x10015b88
push ecx
call fcn.1002cda0
add esp, 4
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xb8], esi
cmp eax, esi
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xb0], esi
je 0x10015bc1
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10015bb8
cmp al, 0xff
je 0x10015bb8
dec al
mov byte [ecx], al
jmp 0x10015bc1
push ecx
call fcn.1002cda0
add esp, 4
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xe8], esi
cmp eax, esi
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xe0], esi
je 0x10015bfa
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10015bf1
cmp al, 0xff
je 0x10015bf1
dec al
mov byte [ecx], al
jmp 0x10015bfa
push ecx
call fcn.1002cda0
add esp, 4
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xd8], esi
cmp eax, esi
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd0], esi
je 0x10015c33
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10015c2a
cmp al, 0xff
je 0x10015c2a
dec al
mov byte [ecx], al
jmp 0x10015c33
push ecx
call fcn.1002cda0
add esp, 4
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], esi
xor ebx, ebx
mov eax, dword [ebp - 0xf8]
cmp eax, ebx
je 0x10015c6e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10015c65
cmp al, 0xff
je 0x10015c65
dec al
mov byte [ecx], al
jmp 0x10015c6e
push ecx
call fcn.1002cda0
add esp, 4
mov eax, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xc8]
cmp esi, eax
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], ebx
mov edi, eax
je 0x10015cd0
add esi, 4
mov eax, dword [esi]
cmp eax, ebx
je 0x10015cb8
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x10015caf
cmp al, 0xff
je 0x10015caf
dec al
mov byte [ecx], al
jmp 0x10015cb8
push ecx
call fcn.1002cda0
add esp, 4
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
add esi, 0x10
lea edx, [esi - 4]
cmp edx, edi
jne 0x10015c95
mov esi, dword [ebp - 0xc8]
push esi
call fcn.1002cda0
mov ecx, dword [ebp - 0xa8]
add esp, 4
cmp ecx, ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 4], 0xffffffff
je 0x10015d18
mov al, byte [ecx - 1]
test al, al
je 0x10015d0e
cmp al, 0xff
je 0x10015d0e
dec al
mov byte [ecx - 1], al
jmp 0x10015d18
dec ecx
push ecx
call fcn.1002cda0
add esp, 4
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
push 0xf1d3ffff
push 0xd55fffff
call fcn.100076b0
mov cl, byte [0x10047bb0]
mov bl, byte [0x10047ba5]
mov dl, byte [0x10047ba9]
add esp, 8
sub bl, cl
mov ecx, dword [ebp - 0xc]
dec dl
lea esp, [ebp - 0x19c]
add al, dl
mov byte [0x10047ba5], bl
pop edi
mov byte [0x10047ba4], al
mov eax, dword [ebp - 0x44]
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret