Function at 0x402060
Capabilities:
Encode data using xor

Disassembly:
push 0xffffffffffffffff
push 0x41ad38
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 [0x903138]
mov dword [esp + 0x28], edx
lea ebx, [esi + 0x90313c]
mov esi, ebx
sub esi, 0x90313c
je 0x40213f
test esi, esi
mov eax, esi
jge 0x4020bb
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 0x90313c
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 0x40212b
xor eax, eax
jmp 0x402131
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 [0x91c13c]
sub edx, eax
push ebp
mov edi, eax
lea ebx, [esi + 0x91c140]
mov esi, ebx
mov dword [esp + 0x10], ebx
sub esi, 0x91c140
cmp edx, esi
jae 0x40221d
test ecx, ecx
je 0x402170
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x402172
mov edx, esi
test ecx, ecx
jne 0x40217a
xor eax, eax
jmp 0x40217c
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x402187
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 0x91c140
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 0x402207
xor eax, eax
mov ecx, ebx
mov eax, ebx
mov dword [esp + 0x18], ecx
add eax, esi
mov dword [esp + 0x1c], eax
jmp 0x402280
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 0x402280
test esi, esi
jbe 0x402280
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, 0x91c140
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x91c140
push edx
jmp 0x402265
push 0x91c140
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 [0x935140]
mov edi, eax
lea ebx, [edx + 0x935144]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x935144
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x402363
test ecx, ecx
je 0x4022b4
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x4022b6
mov edx, esi
test ecx, ecx
jne 0x4022be
xor eax, eax
jmp 0x4022c0
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x4022cb
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 0x935144
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 0x40234c
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x4023c6
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 0x4023c6
test esi, esi
jbe 0x4023c6
lea ecx, [esi + eax]
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, 0x935144
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x935144
push edx
jmp 0x4023ab
push 0x935144
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 [0x94e144]
mov edi, eax
lea ebx, [edx + 0x94e148]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x94e148
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x4024a9
test ecx, ecx
je 0x4023fa
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x4023fc
mov edx, esi
test ecx, ecx
jne 0x402404
xor eax, eax
jmp 0x402406
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x402411
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 0x94e148
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 0x402492
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x40250c
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 0x40250c
test esi, esi
jbe 0x40250c
lea ecx, [esi + eax]
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, 0x94e148
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x94e148
push edx
jmp 0x4024f1
push 0x94e148
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 [0x967148]
mov edi, eax
lea ebx, [edx + 0x96714c]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x96714c
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x4025ef
test ecx, ecx
je 0x402540
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x402542
mov edx, esi
test ecx, ecx
jne 0x40254a
xor eax, eax
jmp 0x40254c
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x402557
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 0x96714c
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 0x4025d8
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x402652
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 0x402652
test esi, esi
jbe 0x402652
lea ecx, [esi + eax]
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, 0x96714c
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x96714c
push edx
jmp 0x402637
push 0x96714c
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 [0x98014c]
mov edi, eax
lea ebx, [edx + 0x980150]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x980150
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x402735
test ecx, ecx
je 0x402686
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x402688
mov edx, esi
test ecx, ecx
jne 0x402690
xor eax, eax
jmp 0x402692
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x40269d
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 0x980150
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 0x40271e
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x402798
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 0x402798
test esi, esi
jbe 0x402798
lea ecx, [esi + eax]
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, 0x980150
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x980150
push edx
jmp 0x40277d
push 0x980150
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 [0x999150]
mov edi, eax
lea ebx, [edx + 0x999154]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x999154
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x40287b
test ecx, ecx
je 0x4027cc
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x4027ce
mov edx, esi
test ecx, ecx
jne 0x4027d6
xor eax, eax
jmp 0x4027d8
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x4027e3
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 0x999154
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 0x402864
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x4028de
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 0x4028de
test esi, esi
jbe 0x4028de
lea ecx, [esi + eax]
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, 0x999154
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x999154
push edx
jmp 0x4028c3
push 0x999154
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 [0x9b2154]
mov edi, eax
lea ebx, [edx + 0x9b2158]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x9b2158
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x4029bf
test ecx, ecx
je 0x402912
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x402914
mov edx, esi
test ecx, ecx
jne 0x40291c
xor eax, eax
jmp 0x40291e
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x402929
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 0x9b2158
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 0x4029a9
xor eax, eax
mov ecx, ebx
mov eax, ebx
mov dword [esp + 0x18], ecx
add eax, esi
mov dword [esp + 0x1c], eax
jmp 0x402a22
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 0x402a22
test esi, esi
jbe 0x402a22
lea ecx, [esi + eax]
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, 0x9b2158
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x9b2158
push edx
jmp 0x402a07
push 0x9b2158
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 [0x9cb158]
mov edi, eax
lea ebx, [edx + 0x9cb15c]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x9cb15c
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x402b05
test ecx, ecx
je 0x402a56
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x402a58
mov edx, esi
test ecx, ecx
jne 0x402a60
xor eax, eax
jmp 0x402a62
sub eax, ecx
lea ebp, [edx + eax]
test ebp, ebp
mov eax, ebp
jge 0x402a6d
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 0x9cb15c
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 0x402aee
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x402b68
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 0x402b68
test esi, esi
jbe 0x402b68
lea ecx, [esi + eax]
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, 0x9cb15c
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x9cb15c
push edx
jmp 0x402b4d
push 0x9cb15c
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 [0x9e415c]
mov edi, eax
lea ebx, [edx + 0x9e4160]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x9e4160
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x402c4b
test ecx, ecx
je 0x402b9c
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x402b9e
mov edx, esi
test ecx, ecx
jne 0x402ba6
xor eax, eax
jmp 0x402ba8
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x402bb3
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 0x9e4160
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 0x402c34
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x402cae
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 0x402cae
test esi, esi
jbe 0x402cae
lea ecx, [esi + eax]
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, 0x9e4160
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x9e4160
push edx
jmp 0x402c93
push 0x9e4160
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 [0x9fd160]
mov edi, eax
lea ebx, [edx + 0x9fd164]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0x9fd164
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x402d91
test ecx, ecx
je 0x402ce2
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x402ce4
mov edx, esi
test ecx, ecx
jne 0x402cec
xor eax, eax
jmp 0x402cee
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x402cf9
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 0x9fd164
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 0x402d7a
xor ecx, ecx
lea eax, [ebx + esi]
add eax, ecx
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
jmp 0x402df4
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 0x402df4
test esi, esi
jbe 0x402df4
lea ecx, [esi + eax]
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, 0x9fd164
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0x9fd164
push edx
jmp 0x402dd9
push 0x9fd164
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 [0xa16164]
mov edi, eax
lea ebx, [edx + 0xa16168]
mov edx, dword [esp + 0x20]
mov esi, ebx
sub edx, eax
sub esi, 0xa16168
mov dword [esp + 0x10], ebx
cmp edx, esi
jae 0x402ed5
test ecx, ecx
je 0x402e28
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x402e2a
mov edx, esi
test ecx, ecx
jne 0x402e32
xor eax, eax
jmp 0x402e34
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x402e3f
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 0xa16168
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 0x402ebf
xor eax, eax
mov ecx, ebx
mov eax, ebx
mov dword [esp + 0x18], ecx
add eax, esi
mov dword [esp + 0x1c], eax
jmp 0x402f38
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 0x402f38
test esi, esi
jbe 0x402f38
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, 0xa16168
push ebx
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0xa16168
push edx
jmp 0x402f1d
push 0xa16168
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 [0xa2f168]
mov edi, eax
lea ebp, [edx + 0xa2f16c]
mov edx, dword [esp + 0x20]
mov esi, ebp
sub edx, eax
sub esi, 0xa2f16c
mov dword [esp + 0x10], ebp
cmp edx, esi
jae 0x403015
test ecx, ecx
je 0x402f6c
mov edx, eax
sub edx, ecx
cmp esi, edx
jb 0x402f6e
mov edx, esi
test ecx, ecx
jne 0x402f76
xor eax, eax
jmp 0x402f78
sub eax, ecx
lea ebp, [eax + edx]
test ebp, ebp
mov eax, ebp
jge 0x402f83
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 0xa2f16c
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 0x403001
xor eax, eax
mov dword [esp + 0x18], ebx
mov eax, ebx
add eax, esi
mov dword [esp + 0x1c], eax
jmp 0x403073
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 0x403073
test esi, esi
jbe 0x403073
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, 0xa2f16c
push ebp
push eax
call fcn.00402010
mov edx, dword [esp + 0x1c]
push edi
sub edx, edi
add edx, 0xa2f16c
push edx
jmp 0x40305c
push 0xa2f16c
call fcn.00402040
mov eax, dword [esp + 0x28]
add esp, 0xc
add eax, esi
mov dword [esp + 0x1c], eax
mov ecx, dword [0xa4816c]
lea edx, [ecx + 0xa48170]
lea ecx, [esp + 0x14]
push edx
push 0xa48170
push eax
call fcn.00401e10
mov eax, dword [0xa61170]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xa61174]
push ecx
push 0xa61174
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xa7a174]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xa7a178]
push ecx
push 0xa7a178
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xa93178]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xa9317c]
push ecx
push 0xa9317c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xaac17c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xaac180]
push ecx
push 0xaac180
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xac5180]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xac5184]
push ecx
push 0xac5184
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xade184]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xade188]
push ecx
push 0xade188
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xaf7188]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xaf718c]
push ecx
push 0xaf718c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xb1018c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xb10190]
push ecx
push 0xb10190
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xb29190]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xb29194]
push ecx
push 0xb29194
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xb42194]
lea ecx, [eax + 0xb42198]
mov edx, dword [esp + 0x1c]
push ecx
push 0xb42198
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xb5b198]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xb5b19c]
push ecx
push 0xb5b19c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xb7419c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xb741a0]
push ecx
push 0xb741a0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xb8d1a0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xb8d1a4]
push ecx
push 0xb8d1a4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xba61a4]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xba61a8]
push ecx
push 0xba61a8
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xbbf1a8]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xbbf1ac]
push ecx
push 0xbbf1ac
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xbd81ac]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xbd81b0]
push ecx
push 0xbd81b0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xbf11b0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xbf11b4]
push ecx
push 0xbf11b4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xc0a1b4]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xc0a1b8]
push ecx
push 0xc0a1b8
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xc231b8]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xc231bc]
push ecx
push 0xc231bc
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xc3c1bc]
lea ecx, [eax + 0xc3c1c0]
push ecx
mov edx, dword [esp + 0x20]
push 0xc3c1c0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xc551c0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xc551c4]
push ecx
push 0xc551c4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xc6e1c4]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xc6e1c8]
push ecx
push 0xc6e1c8
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xc871c8]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xc871cc]
push ecx
push 0xc871cc
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xca01cc]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xca01d0]
push ecx
push 0xca01d0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xcb91d0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xcb91d4]
push ecx
push 0xcb91d4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xcd21d4]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xcd21d8]
push ecx
push 0xcd21d8
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xceb1d8]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xceb1dc]
push ecx
push 0xceb1dc
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xd041dc]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xd041e0]
push ecx
push 0xd041e0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xd1d1e0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xd1d1e4]
push ecx
push 0xd1d1e4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xd361e4]
lea ecx, [eax + 0xd361e8]
push ecx
push 0xd361e8
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
push edx
call fcn.00401e10
mov eax, dword [0xd4f1e8]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xd4f1ec]
push ecx
push 0xd4f1ec
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xd681ec]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xd681f0]
push ecx
push 0xd681f0
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xd811f0]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xd811f4]
push ecx
push 0xd811f4
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xd9a1f4]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xd9a1f8]
push ecx
push 0xd9a1f8
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xdb31f8]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xdb31fc]
push ecx
push 0xdb31fc
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xdcc1fc]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xdcc200]
push ecx
push 0xdcc200
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xde5200]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xde5204]
push ecx
push 0xde5204
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xdfe204]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xdfe208]
push ecx
push 0xdfe208
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xe17208]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xe1720c]
push ecx
push 0xe1720c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xe3020c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xe30210]
push ecx
push 0xe30210
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xe49210]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xe49214]
push ecx
push 0xe49214
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xe62214]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xe62218]
push ecx
push 0xe62218
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xe7b218]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xe7b21c]
push ecx
push 0xe7b21c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xe9421c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xe94220]
push ecx
push 0xe94220
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xead220]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xead224]
push ecx
push 0xead224
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xec6224]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xec6228]
push ecx
push 0xec6228
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xedf228]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xedf22c]
push ecx
push 0xedf22c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xef822c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xef8230]
push ecx
push 0xef8230
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xf11230]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xf11234]
push ecx
push 0xf11234
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xf2a234]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xf2a238]
push ecx
push 0xf2a238
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xf43238]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xf4323c]
push ecx
push 0xf4323c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xf5c23c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xf5c240]
push ecx
push 0xf5c240
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xf75240]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xf75244]
push ecx
push 0xf75244
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xf8e244]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xf8e248]
push ecx
push 0xf8e248
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xfa7248]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xfa724c]
push ecx
push 0xfa724c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xfc024c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xfc0250]
push ecx
push 0xfc0250
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xfd9250]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xfd9254]
push ecx
push 0xfd9254
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0xff2254]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0xff2258]
push ecx
push 0xff2258
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x100b258]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x100b25c]
push ecx
push 0x100b25c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x102425c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1024260]
push ecx
push 0x1024260
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x103d260]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x103d264]
push ecx
push 0x103d264
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1056264]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1056268]
push ecx
push 0x1056268
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x106f268]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x106f26c]
push ecx
push 0x106f26c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x108826c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1088270]
push ecx
push 0x1088270
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x10a1270]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x10a1274]
push ecx
push 0x10a1274
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x10ba274]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x10ba278]
push ecx
push 0x10ba278
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x10d3278]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x10d327c]
push ecx
push 0x10d327c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x10ec27c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x10ec280]
push ecx
push 0x10ec280
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1105280]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1105284]
push ecx
push 0x1105284
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x111e284]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x111e288]
push ecx
push 0x111e288
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1137288]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x113728c]
push ecx
push 0x113728c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x115028c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1150290]
push ecx
push 0x1150290
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1169290]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1169294]
push ecx
push 0x1169294
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x1182294]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x1182298]
push ecx
push 0x1182298
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [0x119b298]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 0x119b29c]
push ecx
push 0x119b29c
push edx
lea ecx, [esp + 0x20]
call fcn.00401e10
mov eax, dword [esp + 0x18]
pop ebp
test eax, eax
jne 0x4039b1
xor edx, edx
jmp 0x4039b7
mov edx, dword [esp + 0x18]
sub edx, eax
xor ecx, ecx
test edx, edx
jle 0x4039cb
mov bl, byte [ecx + eax]
xor bl, 0x25
mov byte [ecx + eax], bl
inc ecx
cmp ecx, edx
jl 0x4039bd
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 0x4039e8
xor esi, esi
jmp 0x4039ed
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