Function at 0x40cf20
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4837b6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x158
push esi
push edi
push 0x603108
mov ecx, 0x601e38
call fcn.0041c780
xor edx, edx
mov dword [ebp - 0x70], 7
mov edi, 0x7e
mov byte [ebp - 0x15], 0
div edi
mov esi, 0xf
xorps xmm0, xmm0
mov ah, dl
mov dword [ebp - 0x6c], esi
inc ah
mov al, ah
mov byte [ebp - 0x12], ah
xor al, 0x62
mov dl, ah
mov byte [ebp - 0x13], al
mov dh, ah
mov al, ah
mov cl, ah
xor al, 0x61
xor cl, 0x64
xor cl, ah
mov byte [ebp - 0x14], al
xor dl, 0x65
mov al, ah
xor al, 0x74
xor dh, 0x2e
mov ch, ah
mov byte [ebp - 0x11], al
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x84], edx
lea eax, [ebp - 0x80]
xor edx, edx
xor ch, 0x6c
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x84]
xor dl, byte [ebp - 0x12]
mov byte [eax], cl
cmp dword [ebp - 0x6c], esi
cmova eax, dword [ebp - 0x80]
mov byte [eax + 1], dl
lea eax, [ebp - 0x80]
mov dl, byte [ebp - 0x12]
mov cl, dl
xor cl, ch
cmp dword [ebp - 0x6c], esi
cmova eax, dword [ebp - 0x80]
mov byte [eax + 2], cl
mov cl, dl
xor cl, dh
lea eax, [ebp - 0x80]
cmp dword [ebp - 0x6c], esi
cmova eax, dword [ebp - 0x80]
mov byte [eax + 3], cl
mov cl, dl
xor cl, byte [ebp - 0x13]
lea eax, [ebp - 0x80]
cmp dword [ebp - 0x6c], esi
cmova eax, dword [ebp - 0x80]
mov byte [eax + 4], cl
mov cl, dl
xor cl, byte [ebp - 0x14]
lea eax, [ebp - 0x80]
cmp dword [ebp - 0x6c], esi
cmova eax, dword [ebp - 0x80]
xor dl, byte [ebp - 0x11]
mov byte [eax + 5], cl
lea eax, [ebp - 0x80]
cmp dword [ebp - 0x6c], esi
cmova eax, dword [ebp - 0x80]
mov byte [eax + 6], dl
mov dword [ebp - 4], 0
call fcn.0041a5a0
xor edx, edx
div edi
inc dl
mov byte [ebp - 0x15], 0
mov al, dl
mov byte [ebp - 0x11], dl
xor al, 0x74
mov byte [ebp - 0x26], dl
mov byte [ebp - 0x25], al
mov cl, dl
mov al, dl
mov dword [ebp - 0x8c], 0
xor al, 0x61
mov dword [ebp - 0x88], 0
mov byte [ebp - 0x24], al
xor cl, 0x20
mov al, dl
mov byte [ebp - 0x1a], cl
xor al, 0x73
mov byte [ebp - 0x16], cl
mov byte [ebp - 0x23], al
mov al, dl
xor al, 0x6b
mov byte [ebp - 0x22], al
mov al, dl
xor al, 0x6b
mov byte [ebp - 0x21], al
mov al, dl
xor al, 0x69
mov byte [ebp - 0x20], al
mov al, dl
xor al, 0x6c
mov byte [ebp - 0x1f], al
mov al, dl
xor al, 0x6c
mov byte [ebp - 0x1e], al
mov al, dl
xor al, 0x20
mov byte [ebp - 0x1d], al
mov al, dl
xor al, 0x2f
mov byte [ebp - 0x1c], al
mov al, dl
xor al, 0x46
mov byte [ebp - 0x1b], al
mov al, dl
xor al, 0x2f
mov byte [ebp - 0x19], al
mov al, dl
xor al, 0x49
mov byte [ebp - 0x18], al
mov al, dl
xor al, 0x4d
push 0x20
mov byte [ebp - 0x17], al
movups xmmword [ebp - 0x9c], xmm0
call fcn.00481d9b
mov ch, byte [ebp - 0x11]
xorps xmm0, xmm0
mov dword [ebp - 0x9c], eax
add esp, 4
mov dword [ebp - 0x8c], 0x10
xor edx, edx
mov dword [ebp - 0x88], 0x1f
movups xmmword [eax], xmm0
mov byte [eax + 0x10], 0
nop
mov cl, byte [ebp + edx - 0x25]
lea eax, [ebp - 0x9c]
xor cl, ch
cmp dword [ebp - 0x88], 0xf
cmova eax, dword [ebp - 0x9c]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x10
jb 0x40d110
push 0x603108
mov ecx, 0x601e38
call fcn.0041c780
xor edx, edx
mov dword [ebp - 0x58], 7
div edi
mov esi, 0xf
mov byte [ebp - 0x15], 0
mov ah, dl
mov dword [ebp - 0x54], esi
inc ah
xorps xmm0, xmm0
mov cl, ah
mov byte [ebp - 0x12], ah
xor cl, 0x22
mov dl, ah
mov byte [ebp - 0x11], cl
mov dh, ah
mov cl, ah
mov al, ah
xor cl, 0x2e
xor al, 0x64
mov byte [ebp - 0x14], cl
mov ch, ah
mov cl, ah
xor dl, 0x6c
xor cl, 0x5c
xor dh, 0x20
mov byte [ebp - 0x13], cl
xor ch, 0x65
mov cl, ah
mov dword [ebp - 0x84], edx
xor cl, al
xor edx, edx
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x68], edx
lea eax, [ebp - 0x68]
mov dword [ebp - 0x64], edx
mov byte [eax], cl
mov cl, byte [ebp - 0x12]
mov edx, dword [ebp - 0x84]
xor cl, ch
cmp dword [ebp - 0x54], esi
mov ch, byte [ebp - 0x12]
cmova eax, dword [ebp - 0x68]
mov byte [eax + 1], cl
mov cl, ch
xor cl, dl
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], esi
cmova eax, dword [ebp - 0x68]
mov byte [eax + 2], cl
mov cl, ch
xor cl, dh
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], esi
cmova eax, dword [ebp - 0x68]
mov byte [eax + 3], cl
mov cl, ch
xor cl, byte [ebp - 0x11]
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], esi
cmova eax, dword [ebp - 0x68]
mov byte [eax + 4], cl
mov cl, ch
xor cl, byte [ebp - 0x14]
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], esi
cmova eax, dword [ebp - 0x68]
xor ch, byte [ebp - 0x13]
mov byte [eax + 5], cl
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], esi
cmova eax, dword [ebp - 0x68]
mov byte [eax + 6], ch
push 0x603108
mov ecx, 0x601e38
call fcn.0041c780
xor edx, edx
div edi
mov dword [ebp - 0xa8], 0
mov ch, dl
mov byte [ebp - 0x15], 0
inc ch
mov dword [ebp - 0xa4], esi
mov al, ch
mov byte [ebp - 0x25], ch
xor al, 0x64
mov dword [ebp - 0xa0], esi
mov byte [ebp - 0x24], al
mov al, ch
xor al, 0x65
movq qword [ebp - 0xb4], xmm0
mov byte [ebp - 0x23], al
mov al, ch
xor al, 0x6c
mov dword [ebp - 0xac], 0
mov byte [ebp - 0x22], al
mov al, ch
xor al, 0x20
mov byte [ebp - 0xa5], 0
mov byte [ebp - 0x21], al
mov al, ch
xor al, 0x22
mov byte [ebp - 0x20], al
mov al, ch
xor al, 0x2e
mov byte [ebp - 0x1f], al
mov al, ch
xor al, 0x5c
mov byte [ebp - 0x1e], al
mov al, ch
xor al, 0x64
mov byte [ebp - 0x1d], al
mov al, ch
xor al, 0x65
mov byte [ebp - 0x1c], al
mov al, ch
xor al, 0x6c
mov byte [ebp - 0x1b], al
mov al, ch
xor al, 0x2e
mov byte [ebp - 0x1a], al
mov al, ch
xor al, 0x62
mov byte [ebp - 0x19], al
mov al, ch
xor al, 0x61
mov byte [ebp - 0x18], al
mov al, ch
xor al, 0x74
mov byte [ebp - 0x17], al
mov al, ch
xor al, 0x22
xor edx, edx
mov byte [ebp - 0x16], al
nop
mov cl, byte [ebp + edx - 0x24]
lea eax, [ebp - 0xb4]
xor cl, ch
cmp esi, 0xf
cmova eax, dword [ebp - 0xb4]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xf
jae 0x40d2f7
mov esi, dword [ebp - 0xa0]
jmp 0x40d2d0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x80]
cmp dword [ebp - 0x6c], 0xf
lea ecx, [ebp - 0x168]
cmova eax, dword [ebp - 0x80]
sub esp, 0xc
push eax
call fcn.0041a140
mov eax, dword [ebp - 0x168]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x16c], eax
mov byte [ebp - 4], 4
mov ecx, 0x601e38
cmp dword [ebp - 0x118], 0
push 0x603108
je 0x40d7ae
call fcn.0041c780
xor edx, edx
mov byte [ebp - 0x15], 0
div edi
lea ecx, [ebp - 0x1f]
inc dl
mov al, dl
mov byte [ebp - 0x1f], dl
xor al, 0x40
mov byte [ebp - 0x1e], al
mov al, dl
xor al, 0x65
mov byte [ebp - 0x1d], al
mov al, dl
xor al, 0x63
mov byte [ebp - 0x1c], al
mov al, dl
xor al, 0x68
mov byte [ebp - 0x1b], al
mov al, dl
xor al, 0x6f
mov byte [ebp - 0x1a], al
mov al, dl
xor al, 0x20
mov byte [ebp - 0x19], al
mov al, dl
xor al, 0x6f
mov byte [ebp - 0x18], al
mov al, dl
xor al, 0x66
xor dl, 0x66
mov byte [ebp - 0x17], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 0x16], dl
call fcn.00418660
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x40d3c2
mov eax, dword [eax]
push ecx
mov edx, eax
lea ecx, [ebp - 0x168]
call fcn.0041ce80
add esp, 4
mov ecx, eax
call fcn.0041a9c0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x40d414
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d40a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40d40a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00482021
add esp, 8
cmp dword [ebp - 0x88], 0xf
lea edx, [ebp - 0x9c]
push dword [ebp - 0x8c]
cmova edx, dword [ebp - 0x9c]
lea ecx, [ebp - 0x168]
call fcn.0041ce80
add esp, 4
mov edx, 0x601680
cmp dword [0x601694], 0xf
mov ecx, eax
cmova edx, dword [0x601680]
push dword [0x601690]
call fcn.0041ce80
add esp, 4
mov ecx, eax
call fcn.0041a9c0
cmp dword [ebp - 0x88], 0xf
lea edx, [ebp - 0x9c]
push dword [ebp - 0x8c]
cmova edx, dword [ebp - 0x9c]
lea ecx, [ebp - 0x168]
call fcn.0041ce80
add esp, 4
mov ecx, 0x601e38
mov esi, eax
push 0x603108
call fcn.0041c780
xor edx, edx
mov byte [ebp - 0x15], 0
div edi
lea ecx, [ebp - 0x1f]
inc dl
mov al, dl
mov byte [ebp - 0x1f], dl
xor al, 0x59
mov byte [ebp - 0x1e], al
mov al, dl
xor al, 0x6f
mov byte [ebp - 0x1d], al
mov al, dl
xor al, 0x6c
mov byte [ebp - 0x1c], al
mov al, dl
xor al, 0x6f
mov byte [ebp - 0x1b], al
mov al, dl
xor al, 0x76
mov byte [ebp - 0x1a], al
mov al, dl
xor al, 0x2e
mov byte [ebp - 0x19], al
mov al, dl
xor al, 0x65
mov byte [ebp - 0x18], al
mov al, dl
xor al, 0x78
xor dl, 0x65
mov byte [ebp - 0x17], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 0x16], dl
call fcn.00418660
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x40d505
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.0041ce80
add esp, 4
mov ecx, eax
call fcn.0041a9c0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x40d553
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d549
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40d549
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00482021
add esp, 8
cmp dword [ebp - 0x54], 0xf
lea edx, [ebp - 0x68]
push dword [ebp - 0x58]
cmova edx, dword [ebp - 0x68]
lea ecx, [ebp - 0x168]
call fcn.0041ce80
add esp, 4
mov edx, 0x601680
cmp dword [0x601694], 0xf
mov ecx, eax
cmova edx, dword [0x601680]
push dword [0x601690]
call fcn.0041ce80
add esp, 4
mov edx, 0x4886c4
mov ecx, eax
call fcn.0041abf0
mov ecx, eax
call fcn.0041a9c0
cmp dword [ebp - 0xa0], 0xf
lea edx, [ebp - 0xb4]
push dword [ebp - 0xa4]
cmova edx, dword [ebp - 0xb4]
lea ecx, [ebp - 0x168]
call fcn.0041ce80
add esp, 4
mov ecx, eax
call fcn.0041a9c0
lea ecx, [ebp - 0x164]
call fcn.0041a0b0
test eax, eax
jne 0x40d5fc
mov eax, dword [ebp - 0x168]
lea ecx, [ebp - 0x168]
push 0
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov ecx, 0x601e38
push 0x603108
call fcn.0041c780
xor edx, edx
div edi
mov dh, dl
inc dh
mov al, dh
mov byte [ebp - 0x11], dh
xor al, 0x42
mov byte [ebp - 0x50], dh
mov byte [ebp - 0x4f], al
mov cl, dh
mov al, dh
xor cl, 0x20
xor al, 0x61
mov byte [ebp - 0x45], cl
mov byte [ebp - 0x4e], al
mov ch, dh
mov al, dh
mov byte [ebp - 0x3d], cl
xor al, 0x74
xor ch, 0x63
mov byte [ebp - 0x4d], al
mov ah, dh
mov al, dh
mov byte [ebp - 0x44], ch
xor al, 0x63
mov byte [ebp - 0x3a], ch
mov byte [ebp - 0x4c], al
mov dl, dh
mov al, dh
mov byte [ebp - 0x39], ch
xor al, 0x68
xor dl, 0x65
mov byte [ebp - 0x4b], al
mov cl, dh
mov al, dh
mov byte [ebp - 0x42], dl
xor al, 0x20
mov byte [ebp - 0x3f], dl
mov byte [ebp - 0x4a], al
xor cl, 0x73
mov al, dh
mov byte [ebp - 0x38], dl
xor al, 0x66
mov byte [ebp - 0x37], cl
mov byte [ebp - 0x49], al
xor ah, 0x6c
mov al, dh
mov byte [ebp - 0x36], cl
xor al, 0x69
mov byte [ebp - 0x48], al
mov al, dh
xor al, 0x6c
mov byte [ebp - 0x47], al
mov al, dh
xor al, 0x65
mov byte [ebp - 0x46], al
mov al, dh
xor al, 0x72
mov byte [ebp - 0x43], al
mov al, dh
xor al, 0x61
mov byte [ebp - 0x41], al
mov al, dh
xor al, 0x74
mov byte [ebp - 0x40], al
mov al, dh
xor al, 0x64
mov byte [ebp - 0x3e], al
mov al, dh
xor al, 0x73
mov byte [ebp - 0x3c], al
mov al, dh
xor al, 0x75
mov byte [ebp - 0x3b], al
mov al, dh
xor al, 0x66
mov byte [ebp - 0x35], al
mov al, dh
mov byte [ebp - 0x33], ah
xor al, 0x75
mov byte [ebp - 0x32], ah
mov byte [ebp - 0x34], al
xorps xmm0, xmm0
mov al, dh
mov byte [ebp - 0x30], 0
xor al, 0x79
mov dword [ebp - 0x1c], 0
push 0x20
mov byte [ebp - 0x31], al
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x18], 0
call fcn.00481d9b
mov ch, byte [ebp - 0x11]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], eax
add esp, 4
mov dword [ebp - 0x1c], 0x1f
xor edx, edx
mov dword [ebp - 0x18], 0x1f
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov cl, byte [ebp + edx - 0x4f]
lea eax, [ebp - 0x2c]
xor cl, ch
cmp dword [ebp - 0x18], 0xf
cmova eax, dword [ebp - 0x2c]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x1f
jb 0x40d733
mov byte [ebp - 4], 7
cmp dword [ebp - 0x18], 0xf
lea edx, [ebp - 0x2c]
push dword [ebp - 0x1c]
cmova edx, dword [ebp - 0x2c]
mov ecx, esi
call fcn.0041ce80
add esp, 4
mov ecx, eax
push 0x41a990
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x40d8ed
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d8e3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40d8e3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov esi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.0041c780
xor edx, edx
mov byte [ebp - 0x30], 0
div edi
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
mov dh, dl
inc dh
mov al, dh
mov byte [ebp - 0x11], dh
xor al, 0x46
mov byte [ebp - 0x4c], dh
mov byte [ebp - 0x4b], al
mov ah, dh
mov al, dh
xor ah, 0x61
xor al, 0x61
mov byte [ebp - 0x3e], ah
mov byte [ebp - 0x4a], al
mov ch, dh
mov al, dh
mov byte [ebp - 0x39], ah
xor al, 0x69
xor ch, 0x65
mov byte [ebp - 0x49], al
mov dl, dh
mov al, dh
mov byte [ebp - 0x3f], ch
xor al, 0x6c
mov byte [ebp - 0x3c], ch
mov byte [ebp - 0x48], al
xor dl, 0x20
mov al, dh
mov byte [ebp - 0x42], dl
xor al, 0x65
mov byte [ebp - 0x3b], dl
mov byte [ebp - 0x47], al
mov cl, dh
mov al, dh
mov byte [ebp - 0x35], dl
xor al, 0x64
mov byte [ebp - 0x31], ch
mov byte [ebp - 0x46], al
xor cl, 0x74
mov al, dh
mov byte [ebp - 0x3d], cl
xor al, 0x20
mov byte [ebp - 0x38], cl
mov byte [ebp - 0x45], al
mov al, dh
xor al, 0x74
mov byte [ebp - 0x44], al
mov al, dh
xor al, 0x6f
mov byte [ebp - 0x43], al
mov al, dh
xor al, 0x63
mov byte [ebp - 0x41], al
mov al, dh
xor al, 0x72
mov byte [ebp - 0x40], al
mov al, dh
xor al, 0x62
mov byte [ebp - 0x3a], al
mov al, dh
xor al, 0x63
mov byte [ebp - 0x37], al
mov al, dh
xor al, 0x68
mov byte [ebp - 0x36], al
mov al, dh
xor al, 0x66
mov byte [ebp - 0x34], al
mov al, dh
xor al, 0x69
mov byte [ebp - 0x33], al
mov al, dh
xor al, 0x6c
mov byte [ebp - 0x32], al
movups xmmword [ebp - 0x2c], xmm0
push 0x20
mov dword [ebp - 0x18], 0
call fcn.00481d9b
mov ch, byte [ebp - 0x11]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], eax
add esp, 4
mov dword [ebp - 0x1c], 0x1b
xor edx, edx
mov dword [ebp - 0x18], 0x1f
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], 0
nop dword [eax + eax]
mov cl, byte [ebp + edx - 0x4b]
lea eax, [ebp - 0x2c]
xor cl, ch
cmp dword [ebp - 0x18], 0xf
cmova eax, dword [ebp - 0x2c]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x1b
jb 0x40d8c0
mov byte [ebp - 4], 8
jmp 0x40d751
push ecx
push edx
call fcn.00482021
add esp, 8
lea ecx, [ebp - 0x168]
call fcn.0040da30
mov ecx, dword [ebp - 0xa0]
cmp ecx, 0xf
jbe 0x40d932
mov edx, dword [ebp - 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d928
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d7a8
push ecx
push edx
call fcn.00482021
add esp, 8
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
cmp ecx, 0xf
jbe 0x40d981
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d977
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d7a8
push ecx
push edx
call fcn.00482021
add esp, 8
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp ecx, 0xf
jbe 0x40d9cd
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d9c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d7a8
push ecx
push edx
call fcn.00482021
add esp, 8
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
cmp ecx, 0xf
jbe 0x40da1c
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40da12
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d7a8
push ecx
push edx
call fcn.00482021
add esp, 8
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret