Function at 0x4142d0
Capabilities:
Encode data using xor

Disassembly:
push 0xffffffffffffffff
push 0x41b2b8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov al, byte [esp + 0x24]
push ebx
mov byte [esp + 8], al
xor ecx, ecx
xor eax, eax
xor edx, edx
push esi
push edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov esi, dword [0x12b5c1c]
mov dword [esp + 0x28], edx
lea ebx, [esi + 0x12b5c20]
mov esi, ebx
sub esi, 0x12b5c20
je 0x4143af
test esi, esi
mov eax, esi
jge 0x41432b
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esp + 0x18]
add esp, 4
mov edi, eax
push edi
push 0
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402010
push eax
push ebx
push 0x12b5c20
lea ecx, [esp + 0x1c]
call fcn.00402010
mov edx, dword [esp + 0x18]
push eax
push edx
push 0
lea ecx, [esp + 0x1c]
call fcn.00402010
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00402000
mov edx, dword [esp + 0x14]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov ecx, dword [esp + 0x18]
add esp, 4
lea edx, [edi + esi]
test ecx, ecx
mov dword [esp + 0x1c], edx
jne 0x41439b
xor eax, eax
jmp 0x4143a1
mov eax, dword [esp + 0x18]
sub eax, ecx
add eax, edi
mov ecx, edi
add eax, esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov esi, dword [0x12cec20]
sub edx, eax
push ebp
mov edi, eax
lea ebx, [esi + 0x12cec24]
mov esi, ebx
mov dword [esp + 0x10], ebx
sub esi, 0x12cec24
cmp edx, esi
jae 0x41448d
test ecx, ecx
je 0x4143e0
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x4143e2
mov edx, esi
test ecx, ecx
jne 0x4143ea
xor eax, eax
jmp 0x4143ec
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x4143f7
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ebx
push edi
push eax
call fcn.00402010
mov ecx, dword [esp + 0x10]
push eax
push ecx
push 0x12cec24
lea ecx, [esp + 0x20]
call fcn.00402010
mov edx, dword [esp + 0x1c]
push eax
push edx
push edi
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402000
mov edx, dword [esp + 0x18]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov ecx, dword [esp + 0x1c]
add esp, 4
lea eax, [ebx + ebp]
test ecx, ecx
mov dword [esp + 0x20], eax
jne 0x414477
xor eax, eax
mov ecx, ebx
mov eax, ebx
mov dword [esp + 0x18], ecx
add eax, esi
mov dword [esp + 0x1c], eax
jmp 0x4144f0
mov eax, dword [esp + 0x1c]
sub eax, ecx
mov ecx, ebx
add eax, ebx
mov dword [esp + 0x18], ecx
add eax, esi
mov dword [esp + 0x1c], eax
jmp 0x4144f0
test esi, esi
jbe 0x4144f0
lea ecx, [eax + esi]
push ecx
push eax
push eax
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push eax
sub eax, edi
add eax, 0x12cec24
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x12cec24
push edx
jmp 0x4144d5
push 0x12cec24
call fcn.00402040
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add esp, 0xc
add eax, esi
mov dword [esp + 0x1c], eax
mov edx, dword [0x12e7c24]
mov edi, eax
lea ebx, [edx + 0x12e7c28]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x12e7c28
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x4145d3
test ecx, ecx
je 0x414524
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x414526
mov edx, esi
test ecx, ecx
jne 0x41452e
xor eax, eax
jmp 0x414530
sub eax, ecx
lea ebp, [edx + eax]
test ebp, ebp
mov eax, ebp
jge 0x41453b
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ebx
push edi
push eax
call fcn.00402010
mov ecx, dword [esp + 0x10]
push eax
push ecx
push 0x12e7c28
lea ecx, [esp + 0x20]
call fcn.00402010
mov edx, dword [esp + 0x1c]
push eax
push edx
push edi
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402000
mov edx, dword [esp + 0x18]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
lea eax, [ebx + ebp]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4145bc
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x414636
mov ecx, dword [esp + 0x1c]
sub ecx, eax
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x414636
test esi, esi
jbe 0x414636
lea ecx, [eax + esi]
push ecx
push eax
push eax
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push eax
sub eax, edi
add eax, 0x12e7c28
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x12e7c28
push edx
jmp 0x41461b
push 0x12e7c28
call fcn.00402040
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add esp, 0xc
add eax, esi
mov dword [esp + 0x1c], eax
mov edx, dword [0x1300c28]
mov edi, eax
lea ebx, [edx + 0x1300c2c]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x1300c2c
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x414719
test ecx, ecx
je 0x41466a
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x41466c
mov edx, esi
test ecx, ecx
jne 0x414674
xor eax, eax
jmp 0x414676
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x414681
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ebx
push edi
push eax
call fcn.00402010
mov ecx, dword [esp + 0x10]
push eax
push ecx
push 0x1300c2c
lea ecx, [esp + 0x20]
call fcn.00402010
mov edx, dword [esp + 0x1c]
push eax
push edx
push edi
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402000
mov edx, dword [esp + 0x18]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
lea eax, [ebx + ebp]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x414702
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x41477c
mov ecx, dword [esp + 0x1c]
sub ecx, eax
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x41477c
test esi, esi
jbe 0x41477c
lea ecx, [eax + esi]
push ecx
push eax
push eax
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push eax
sub eax, edi
add eax, 0x1300c2c
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x1300c2c
push edx
jmp 0x414761
push 0x1300c2c
call fcn.00402040
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add esp, 0xc
add eax, esi
mov dword [esp + 0x1c], eax
mov edx, dword [0x1319c2c]
mov edi, eax
lea ebx, [edx + 0x1319c30]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x1319c30
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x41485f
test ecx, ecx
je 0x4147b0
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x4147b2
mov edx, esi
test ecx, ecx
jne 0x4147ba
xor eax, eax
jmp 0x4147bc
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x4147c7
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ebx
push edi
push eax
call fcn.00402010
mov ecx, dword [esp + 0x10]
push eax
push ecx
push 0x1319c30
lea ecx, [esp + 0x20]
call fcn.00402010
mov edx, dword [esp + 0x1c]
push eax
push edx
push edi
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402000
mov edx, dword [esp + 0x18]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
lea eax, [ebx + ebp]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x414848
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x4148c2
mov ecx, dword [esp + 0x1c]
sub ecx, eax
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x4148c2
test esi, esi
jbe 0x4148c2
lea ecx, [eax + esi]
push ecx
push eax
push eax
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push eax
sub eax, edi
add eax, 0x1319c30
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x1319c30
push edx
jmp 0x4148a7
push 0x1319c30
call fcn.00402040
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add esp, 0xc
add eax, esi
mov dword [esp + 0x1c], eax
mov edx, dword [0x1332c30]
mov edi, eax
lea ebx, [edx + 0x1332c34]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x1332c34
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x4149a5
test ecx, ecx
je 0x4148f6
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x4148f8
mov edx, esi
test ecx, ecx
jne 0x414900
xor eax, eax
jmp 0x414902
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x41490d
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ebx
push edi
push eax
call fcn.00402010
mov ecx, dword [esp + 0x10]
push eax
push ecx
push 0x1332c34
lea ecx, [esp + 0x20]
call fcn.00402010
mov edx, dword [esp + 0x1c]
push eax
push edx
push edi
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402000
mov edx, dword [esp + 0x18]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
lea eax, [ebx + ebp]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x41498e
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x414a08
mov ecx, dword [esp + 0x1c]
sub ecx, eax
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x414a08
test esi, esi
jbe 0x414a08
lea ecx, [eax + esi]
push ecx
push eax
push eax
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push eax
sub eax, edi
add eax, 0x1332c34
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x1332c34
push edx
jmp 0x4149ed
push 0x1332c34
call fcn.00402040
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add esp, 0xc
add eax, esi
mov dword [esp + 0x1c], eax
mov edx, dword [0x134bc34]
mov edi, eax
lea ebx, [edx + 0x134bc38]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x134bc38
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x414aeb
test ecx, ecx
je 0x414a3c
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x414a3e
mov edx, esi
test ecx, ecx
jne 0x414a46
xor eax, eax
jmp 0x414a48
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x414a53
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ebx
push edi
push eax
call fcn.00402010
mov ecx, dword [esp + 0x10]
push eax
push ecx
push 0x134bc38
lea ecx, [esp + 0x20]
call fcn.00402010
mov edx, dword [esp + 0x1c]
push eax
push edx
push edi
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402000
mov edx, dword [esp + 0x18]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
lea eax, [ebx + ebp]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x414ad4
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x414b4e
mov ecx, dword [esp + 0x1c]
sub ecx, eax
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x414b4e
test esi, esi
jbe 0x414b4e
lea ecx, [eax + esi]
push ecx
push eax
push eax
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push eax
sub eax, edi
add eax, 0x134bc38
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x134bc38
push edx
jmp 0x414b33
push 0x134bc38
call fcn.00402040
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add esp, 0xc
add eax, esi
mov dword [esp + 0x1c], eax
mov edx, dword [0x1364c38]
mov edi, eax
lea ebx, [edx + 0x1364c3c]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x1364c3c
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x414c31
test ecx, ecx
je 0x414b82
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x414b84
mov edx, esi
test ecx, ecx
jne 0x414b8c
xor eax, eax
jmp 0x414b8e
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x414b99
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ebx
push edi
push eax
call fcn.00402010
mov ecx, dword [esp + 0x10]
push eax
push ecx
push 0x1364c3c
lea ecx, [esp + 0x20]
call fcn.00402010
mov edx, dword [esp + 0x1c]
push eax
push edx
push edi
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402000
mov edx, dword [esp + 0x18]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
lea eax, [ebx + ebp]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x414c1a
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x414c94
mov ecx, dword [esp + 0x1c]
sub ecx, eax
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x414c94
test esi, esi
jbe 0x414c94
lea ecx, [eax + esi]
push ecx
push eax
push eax
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push eax
sub eax, edi
add eax, 0x1364c3c
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x1364c3c
push edx
jmp 0x414c79
push 0x1364c3c
call fcn.00402040
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add esp, 0xc
add eax, esi
mov dword [esp + 0x1c], eax
mov edx, dword [0x137dc3c]
mov edi, eax
lea ebp, [edx + 0x137dc40]
mov edx, dword [esp + 0x20]
mov esi, ebp
sub edx, eax
sub esi, 0x137dc40
mov dword [esp + 0x10], ebp
cmp edx, esi
jae 0x414d71
test ecx, ecx
je 0x414cc8
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x414cca
mov edx, esi
test ecx, ecx
jne 0x414cd2
xor eax, eax
jmp 0x414cd4
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x414cdf
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push ebx
push edi
push eax
call fcn.00402010
mov ecx, dword [esp + 0x10]
push eax
push ecx
push 0x137dc40
lea ecx, [esp + 0x20]
call fcn.00402010
mov edx, dword [esp + 0x1c]
push eax
push edx
push edi
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402000
mov edx, dword [esp + 0x18]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov ecx, dword [esp + 0x1c]
add esp, 4
lea eax, [ebx + ebp]
test ecx, ecx
mov dword [esp + 0x20], eax
jne 0x414d5d
xor eax, eax
mov dword [esp + 0x18], ebx
mov eax, ebx
add eax, esi
mov dword [esp + 0x1c], eax
jmp 0x414dcf
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], ebx
sub eax, ecx
add eax, ebx
add eax, esi
mov dword [esp + 0x1c], eax
jmp 0x414dcf
test esi, esi
jbe 0x414dcf
lea ecx, [eax + esi]
push ecx
push eax
push eax
lea ecx, [esp + 0x20]
call fcn.00402010
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
push eax
sub eax, edi
add eax, 0x137dc40
push ebp
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x137dc40
push edx
jmp 0x414db8
push 0x137dc40
call fcn.00402040
mov eax, dword [esp + 0x28]
add esp, 0xc
add eax, esi
mov dword [esp + 0x1c], eax
mov ecx, dword [0x1396c40]
lea edx, [ecx + 0x1396c44]
lea ecx, [esp + 0x14]
push edx
push 0x1396c44
push eax
call fcn.00401e10
mov eax, dword [0x13afc44]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x13afc48]
push ecx
push 0x13afc48
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x13c8c48]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x13c8c4c]
push ecx
push 0x13c8c4c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x13e1c4c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x13e1c50]
push ecx
push 0x13e1c50
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x13fac50]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x13fac54]
push ecx
push 0x13fac54
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1413c54]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1413c58]
push ecx
push 0x1413c58
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x142cc58]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x142cc5c]
push ecx
push 0x142cc5c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1445c5c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1445c60]
push ecx
push 0x1445c60
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x145ec60]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x145ec64]
push ecx
push 0x145ec64
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1477c64]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1477c68]
push ecx
push 0x1477c68
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1490c68]
lea ecx, [eax + 0x1490c6c]
mov edx, dword [esp + 0x1c]
push ecx
push 0x1490c6c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x14a9c6c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x14a9c70]
push ecx
push 0x14a9c70
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x14c2c70]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x14c2c74]
push ecx
push 0x14c2c74
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x14dbc74]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x14dbc78]
push ecx
push 0x14dbc78
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x14f4c78]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x14f4c7c]
push ecx
push 0x14f4c7c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x150dc7c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x150dc80]
push ecx
push 0x150dc80
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1526c80]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1526c84]
push ecx
push 0x1526c84
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x153fc84]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x153fc88]
push ecx
push 0x153fc88
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1558c88]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1558c8c]
push ecx
push 0x1558c8c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1571c8c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1571c90]
push ecx
push 0x1571c90
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x158ac90]
lea ecx, [eax + 0x158ac94]
push ecx
mov edx, dword [esp + 0x20]
push 0x158ac94
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x15a3c94]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x15a3c98]
push ecx
push 0x15a3c98
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x15bcc98]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x15bcc9c]
push ecx
push 0x15bcc9c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x15d5c9c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x15d5ca0]
push ecx
push 0x15d5ca0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x15eeca0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x15eeca4]
push ecx
push 0x15eeca4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1607ca4]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1607ca8]
push ecx
push 0x1607ca8
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1620ca8]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1620cac]
push ecx
push 0x1620cac
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1639cac]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1639cb0]
push ecx
push 0x1639cb0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1652cb0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1652cb4]
push ecx
push 0x1652cb4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x166bcb4]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x166bcb8]
push ecx
push 0x166bcb8
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1684cb8]
lea ecx, [eax + 0x1684cbc]
push ecx
push 0x1684cbc
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
push edx
call fcn.00401e10
mov eax, dword [0x169dcbc]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x169dcc0]
push ecx
push 0x169dcc0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x16b6cc0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x16b6cc4]
push ecx
push 0x16b6cc4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x16cfcc4]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x16cfcc8]
push ecx
push 0x16cfcc8
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x16e8cc8]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x16e8ccc]
push ecx
push 0x16e8ccc
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1701ccc]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1701cd0]
push ecx
push 0x1701cd0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x171acd0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x171acd4]
push ecx
push 0x171acd4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1733cd4]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1733cd8]
push ecx
push 0x1733cd8
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x174ccd8]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x174ccdc]
push ecx
push 0x174ccdc
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1765cdc]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1765ce0]
push ecx
push 0x1765ce0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x177ece0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x177ece4]
push ecx
push 0x177ece4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1797ce4]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1797ce8]
push ecx
push 0x1797ce8
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x17b0ce8]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x17b0cec]
push ecx
push 0x17b0cec
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x17c9cec]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x17c9cf0]
push ecx
push 0x17c9cf0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x17e2cf0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x17e2cf4]
push ecx
push 0x17e2cf4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x17fbcf4]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x17fbcf8]
push ecx
push 0x17fbcf8
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1814cf8]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1814cfc]
push ecx
push 0x1814cfc
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x182dcfc]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x182dd00]
push ecx
push 0x182dd00
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1846d00]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1846d04]
push ecx
push 0x1846d04
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x185fd04]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x185fd08]
push ecx
push 0x185fd08
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1878d08]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1878d0c]
push ecx
push 0x1878d0c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1891d0c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1891d10]
push ecx
push 0x1891d10
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x18aad10]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x18aad14]
push ecx
push 0x18aad14
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x18c3d14]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x18c3d18]
push ecx
push 0x18c3d18
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x18dcd18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x18dcd1c]
push ecx
push 0x18dcd1c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [esp + 0x18]
pop ebp
test eax, eax
jne 0x415482
xor edx, edx
jmp 0x415488
mov edx, dword [esp + 0x18]
sub edx, eax
xor ecx, ecx
test edx, edx
jle 0x41549c
mov bl, byte [ecx + eax]
xor bl, 0x25
mov byte [ecx + eax], bl
inc ecx
cmp ecx, edx
jl 0x41548e
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x10]
push esi
push eax
call fcn.0040be20
mov eax, dword [esi + 4]
add esp, 8
test eax, eax
jne 0x4154b9
xor esi, esi
jmp 0x4154be
mov esi, dword [esi + 8]
sub esi, eax
mov ecx, dword [esp + 0x14]
push ecx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov ecx, dword [esp + 0x24]
add esp, 4
mov eax, esi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x20
ret