Function at 0x46f340
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 0x4ec28c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x4a0
mov eax, dword [0x542094]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x220], esi
mov dword [ebp - 4], 2
mov eax, dword [esi]
cmp dword [eax + 4], 0xffffffff
jne 0x46f3a4
mov byte [ebp - 0x419], 0
jmp 0x470744
mov ax, word [esi + 0x186]
cmp ax, word [esi + 0x184]
jl 0x46f3c0
mov byte [ebp - 0x419], 1
jmp 0x470744
push 0x130
lea eax, [ebp - 0x418]
push 0
push eax
call fcn.004c1310
sub esp, 0x1c
lea ecx, [ebp - 0x418]
mov eax, esp
mov dword [eax], 0x53b814
mov dword [eax + 0x24], eax
call fcn.00443e20
xorps xmm0, xmm0
movlpd qword [ebp - 0x274], xmm0
movups xmmword [ebp - 0x284], xmm0
mov dword [ebp - 0x274], 0
movlpd qword [ebp - 0x26c], xmm0
mov dword [ebp - 0x270], 0xf
mov byte [ebp - 0x284], 0
mov byte [ebp - 4], 4
push 0x30
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
call fcn.004bf83f
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x26c], eax
push 0xf
push str..UISettings.ini
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 5
call fcn.00442d40
push str..UISettings.ini
lea ecx, [ebp - 0x284]
call fcn.0045dda0
mov byte [ebp - 4], 6
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x22c], 0xa1f0a0d
mov word [ebp - 0x228], 0xd0b
mov edi, dword [eax]
mov eax, dword [0x5d31d0]
mov byte [ebp - 0x419], 0x5e
cmp eax, dword [edi + 4]
jle 0x46f509
push 0x5d31d0
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d31d0], 0xffffffff
jne 0x46f509
mov eax, dword [ebp - 0x22c]
mov dword [0x5d330c], eax
mov ax, word [ebp - 0x228]
mov word [0x5d3310], ax
mov al, byte [ebp - 0x419]
push 0x4ee330
mov byte [0x5d3312], al
call fcn.004bfaea
add esp, 4
push 0x5d31d0
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d3312]
test al, al
je 0x46f543
xor byte [0x5d330c], 0x5e
xor byte [0x5d330d], 0x5e
xor byte [0x5d330e], 0x5e
xor byte [0x5d330f], 0x5e
xor byte [0x5d3310], 0x5e
xor byte [0x5d3311], 0x5e
xor al, 0x5e
mov byte [0x5d3312], al
mov eax, dword [0x5d322c]
mov dword [ebp - 0x23c], 0xe0e0a16
mov dword [ebp - 0x238], 0x16f010d
mov dword [ebp - 0x234], 0xe0e0a16
mov word [ebp - 0x230], 0x6e01
mov byte [ebp - 0x419], 0x5e
cmp eax, dword [edi + 4]
jle 0x46f5e1
push 0x5d322c
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d322c], 0xffffffff
jne 0x46f5e1
mov eax, dword [ebp - 0x234]
movq xmm0, qword [ebp - 0x23c]
mov dword [0x5d338c], eax
mov ax, word [ebp - 0x230]
mov word [0x5d3390], ax
mov al, byte [ebp - 0x419]
push 0x4ee350
movq qword [0x5d3384], xmm0
mov byte [0x5d3392], al
call fcn.004bfaea
add esp, 4
push 0x5d322c
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d3392], 0
je 0x46f5fd
xor eax, eax
nop dword [eax]
xor byte [eax + 0x5d3384], 0x5e
inc eax
cmp eax, 0xf
jb 0x46f5f0
push 1
push 0x5d330c
push 0x5d3384
lea ecx, [ebp - 0x284]
call fcn.0045e850
dec eax
mov dword [ebp - 0x420], 1
neg eax
mov dword [ebp - 0x42c], 0
push 0
sbb al, al
mov dword [ebp - 0x428], 0
add al, 5
lea ecx, [ebp - 0x43c]
xorps xmm0, xmm0
mov byte [ebp - 0x419], al
push 0x5369e5
movups xmmword [ebp - 0x43c], xmm0
call fcn.00448670
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x454]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x444], 0
push 0x5369e5
movups xmmword [ebp - 0x454], xmm0
mov dword [ebp - 0x440], 0
call fcn.00448670
lea eax, [ebp - 0x420]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x419]
mov dword [ebp - 0x22c], 0x15
push eax
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebx + 8]
push eax
lea ecx, [ebp - 0x418]
call fcn.00444450
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x440]
mov byte [ebp - 0x419], al
cmp ecx, 0x10
jb 0x46f713
mov edx, dword [ebp - 0x454]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46f709
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47084e
push ecx
push edx
call fcn.004bf874
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x428]
cmp ecx, 0x10
jb 0x46f751
mov edx, dword [ebp - 0x43c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46f747
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47084e
push ecx
push edx
call fcn.004bf874
add esp, 8
cmp byte [ebp - 0x419], 0
je 0x4706b6
lea eax, [ebp - 0x4b0]
mov dword [ebp - method.std::_Func_impl_no_alloc_int____cdecl___void___double__double__double__double___int__void___double__double__double__double_.virtual_0], vtable.std::_Func_impl_no_alloc_int____cdecl___void___double__double__double__double___int__void___double__double__double__double_.0
mov dword [ebp - 0x4ac], 0x46f010
mov dword [ebp - 0x48c], eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x350]
push eax
mov dword [ebp - 0x31c], 0xffffffff
call fcn.00445390
mov eax, dword [ebp - 0x358]
xorps xmm0, xmm0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x48c]
mov dword [ebp - 0x320], eax
movsd qword [ebp - 0x328], xmm0
mov byte [ebp - 0x318], 1
test ecx, ecx
je 0x46f7d7
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x4b0]
cmp ecx, eax
setne al
push eax
call edx
add esi, 8
lea eax, [ebx + 0x38]
mov dword [ebp - 0x420], esi
cmp esi, eax
je 0x46f7fa
cmp dword [ebx + 0x4c], 0x10
mov ecx, esi
push dword [ebx + 0x48]
cmovae eax, dword [ebx + 0x38]
push eax
call fcn.00442d40
mov ecx, dword [ebx + 0x30]
mov eax, closesocket
sub eax, ecx
cmp eax, 1
jb 0x470826
cmp dword [ebx + 0x34], 0x10
lea eax, [ebx + 0x20]
push 1
cmovae eax, dword [ebx + 0x20]
push 0x536b98
push ecx
push eax
push ecx
push dword [ebp - 0x21f]
lea ecx, [ebp - 0x43c]
call fcn.00449010
mov byte [ebp - 4], 0xa
lea ecx, [ebx + 0x38]
cmp dword [ebx + 0x4c], 0x10
mov edx, dword [ebp - 0x42c]
cmovae ecx, dword [ebx + 0x38]
mov eax, dword [ebp - 0x428]
mov edi, dword [ebx + 0x48]
sub eax, edx
mov dword [ebp - 0x22c], edx
push edi
push ecx
cmp edi, eax
ja 0x46f8a3
cmp dword [ebp - 0x428], 0x10
lea esi, [ebp - 0x43c]
lea eax, [edi + edx]
cmovae esi, dword [ebp - 0x43c]
mov dword [ebp - 0x42c], eax
lea eax, [esi + edx]
push eax
call fcn.004c16e0
mov ecx, dword [ebp - 0x22c]
lea eax, [esi + edi]
mov esi, dword [ebp - 0x420]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0x43c]
jmp 0x46f8b5
push dword [ebp - 0x21f]
lea ecx, [ebp - 0x43c]
push edi
call fcn.00448510
xorps xmm0, xmm0
mov dword [ebp - 0x234], 0
movups xmmword [ebp - 0x244], xmm0
mov dword [ebp - 0x230], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x244], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x234], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xb
cmp dword [ebx + 0x48], 0
je 0x46f9b5
cmp dword [ebp - 0x234], 0
je 0x46f9b5
mov eax, dword [ebp - 0x358]
test eax, eax
jne 0x46fa56
test byte [ebp - 0x3a4], 1
je 0x46f9b5
push 0x4e
xorps xmm0, xmm0
mov dword [ebp - 0x45c], eax
push str._FTPClient__Error__Curl_session_is_not_initialized___Use_InitSession___before.
lea ecx, [ebp - 0x46c]
mov dword [ebp - 0x458], eax
movups xmmword [ebp - 0x46c], xmm0
call fcn.00448670
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x2ec]
test ecx, ecx
je 0x47082b
mov eax, dword [ecx]
lea edx, [ebp - 0x46c]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x458]
cmp ecx, 0x10
jb 0x46f9b5
mov edx, dword [ebp - 0x46c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46f9ab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x470830
push ecx
push edx
call fcn.004bf874
add esp, 8
mov byte [ebp - 0x419], 0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x230]
cmp ecx, 0x10
jb 0x46f9fa
mov edx, dword [ebp - 0x244]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46f9f0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x470835
push ecx
push edx
call fcn.004bf874
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0xf
mov byte [ebp - 0x244], 0
cmp ecx, 0x10
jb 0x46fe4c
mov edx, dword [ebp - 0x43c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fe42
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x470835
jmp 0x46fe42
push eax
call fcn.00474e50
add esp, 4
mov byte [ebp - 0x419], 0
lea eax, [ebp - 0x244]
lea ecx, [ebp - 0x418]
push eax
lea eax, [ebp - 0x2e8]
push eax
call fcn.00444760
push 0xb0
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0xd
push 0
push eax
call fcn.004c1310
add esp, 8
lea ecx, [ebp - 0xc8]
call fcn.004461b0
mov byte [ebp - 4], 0xe
lea eax, [ebx + 0x38]
cmp dword [ebx + 0x4c], 0x10
push ecx
cmovae eax, dword [ebx + 0x38]
lea ecx, [ebp - 0xc4]
push 0x32
push eax
call fcn.004478a0
test eax, eax
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
je 0x46fae4
add ecx, dword [eax + 4]
xor edx, edx
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x46faf9
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push 0
push eax
call fcn.00443ce0
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0xbc], 6
jne 0x46fcd7
cmp dword [ebp - 0x2d4], 0x10
lea eax, [ebp - 0x2e8]
cmovae eax, dword [ebp - 0x2e8]
push eax
push 0x2712
push dword [ebp - 0x358]
call fcn.00479350
add esp, 0xc
push 0x445310
push 0x4e2b
push dword [ebp - 0x358]
call fcn.00479350
add esp, 0xc
lea eax, [ebp - 0xc8]
push eax
push 0x2711
push dword [ebp - 0x358]
call fcn.00479350
add esp, 0xc
lea ecx, [ebp - 0x418]
call fcn.00444fe0
mov edi, eax
test edi, edi
je 0x46fc72
test byte [ebp - 0x3a4], 1
je 0x46fc79
push edi
call fcn.00475970
add esp, 4
lea edx, [ebp - 0x244]
cmp dword [ebp - 0x230], 0x10
lea ecx, [ebp - 0x3e0]
xorps xmm0, xmm0
cmovae edx, dword [ebp - 0x244]
cmp dword [ebp - 0x3cc], 0x10
push eax
cmovae ecx, dword [ebp - 0x3e0]
push edi
push edx
push ecx
sub esp, 0x18
mov ecx, esp
push 0x48
movups xmmword [ecx], xmm0
push str._FTPClient__Error__Unable_to_import_remote_File__s__s__Error___d___s_.
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00448670
lea eax, [ebp - 0x484]
push eax
call fcn.004451a0
add esp, 0x2c
mov edx, eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x2ec]
test ecx, ecx
je 0x47083a
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x470]
cmp ecx, 0x10
jb 0x46fc55
mov edx, dword [ebp - 0x484]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fc4b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47083f
push ecx
push edx
call fcn.004bf874
add esp, 8
mov dword [ebp - 0x474], 0
mov dword [ebp - 0x470], 0xf
mov byte [ebp - 0x484], 0
jmp 0x46fc79
mov byte [ebp - 0x419], 1
lea ecx, [ebp - 0xc4]
call fcn.004470e0
test eax, eax
jne 0x46fcb1
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0xc8]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00443ce0
cmp byte [ebp - 0x419], 0
jne 0x46fd8b
cmp dword [ebx + 0x4c], 0x10
lea eax, [ebx + 0x38]
cmovae eax, dword [ebx + 0x38]
push eax
call fcn.004c85a8
add esp, 4
jmp 0x46fd8b
test byte [ebp - 0x3a4], 1
je 0x46fd8b
push 0x4e
xorps xmm0, xmm0
mov dword [ebp - 0x444], 0
push str._FTPClient__Error__Unable_to_open_local_file__s_in_CFTPClient::DownloadFile__.
lea ecx, [ebp - 0x454]
mov dword [ebp - 0x440], 0
movups xmmword [ebp - 0x454], xmm0
call fcn.00448670
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x2ec]
test ecx, ecx
je 0x470844
mov eax, dword [ecx]
lea edx, [ebp - 0x454]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x440]
cmp ecx, 0x10
jb 0x46fd70
mov edx, dword [ebp - 0x454]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fd66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x470849
push ecx
push edx
call fcn.004bf874
add esp, 8
mov dword [ebp - 0x444], 0
mov dword [ebp - 0x440], 0xf
mov byte [ebp - 0x454], 0
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc8], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xcc], eax
lea ecx, [ebp - 0xc4]
call fcn.00446100
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc8], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xcc], eax
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x11
push eax
mov dword [ebp - 0x60], vtable.std::ios_base.0
call fcn.004be50a
mov byte [ebp - 4], 0xb
add esp, 4
mov ecx, dword [ebp - 0x2d4]
cmp ecx, 0x10
jb 0x46f9bc
mov edx, dword [ebp - 0x2e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46fe33
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x470849
push ecx
push edx
call fcn.004bf874
add esp, 8
jmp 0x46f9bc
push ecx
push edx
call fcn.004bf874
add esp, 8
lea ecx, [ebp - 0x418]
call fcn.00444660
cmp byte [ebp - 0x419], 0
je 0x4706b6
mov edi, dword [ebp - 0x220]
xorps xmm0, xmm0
movups xmmword [ebp - 0x29c], xmm0
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x288], 0
mov ecx, dword [edi + 0x18]
add ecx, 0xfffffffc
cmp dword [esi + 0x10], ecx
cmovb ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 0x10
jb 0x46fe9d
mov esi, dword [esi]
push ecx
push esi
lea ecx, [ebp - 0x29c]
call fcn.00448670
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x29c]
cmp dword [ebp - 0x288], 0x10
cmovae eax, dword [ebp - 0x29c]
push eax
call fcn.004cb368
add esp, 4
mov word [edi + 0x186], ax
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [edi + 0x40], 0x10
lea edx, [edi + 0x2c]
jb 0x46fee5
mov edx, dword [edx]
cmp dword [ebx + 0x4c], 0x10
lea ecx, [ebx + 0x38]
cmovae ecx, dword [ebx + 0x38]
sub esp, 8
call fcn.00474a00
cmp dword [ebx + 0x4c], 0x10
lea eax, [ebx + 0x38]
cmovae eax, dword [ebx + 0x38]
push eax
call fcn.004c85a8
xorps xmm0, xmm0
add esp, 0xc
movlpd qword [ebp - 0x254], xmm0
movups xmmword [ebp - 0x264], xmm0
mov dword [ebp - 0x254], 0
movlpd qword [ebp - 0x24c], xmm0
mov dword [ebp - 0x250], 0xf
mov byte [ebp - 0x264], 0
mov byte [ebp - 4], 0x13
push 0x30
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
call fcn.004bf83f
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x24c], eax
push 0xa
push str.Server.ini
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x14
call fcn.00442d40
push str.Server.ini
lea ecx, [ebp - 0x264]
call fcn.0045dda0
mov esi, dword [ebp - 0x424]
mov byte [ebp - 4], 0x15
movzx eax, word [edi + 0x184]
movsx ecx, ax
mov esi, dword [esi]
mov dword [ebp - 0x420], ecx
mov dword [ebp - 0x224], 0x3b323718
mov word [ebp - 0x220], 0x5e2d
cmp word [edi + 0x186], ax
jne 0x4702e4
mov eax, dword [0x5d3270]
cmp eax, dword [esi + 4]
jle 0x47002e
push 0x5d3270
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d3270], 0xffffffff
jne 0x47002e
mov eax, dword [ebp - 0x224]
mov dword [0x5d349c], eax
mov ax, word [ebp - 0x220]
push 0x4ee310
mov word [0x5d34a0], ax
call fcn.004bfaea
add esp, 4
push 0x5d3270
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d34a1]
test al, al
je 0x470061
xor byte [0x5d349c], 0x5e
xor byte [0x5d349d], 0x5e
xor byte [0x5d349e], 0x5e
xor byte [0x5d349f], 0x5e
xor byte [0x5d34a0], 0x5e
xor al, 0x5e
mov byte [0x5d34a1], al
mov eax, dword [0x5d3300]
mov dword [ebp - 0x224], 0x2d2c3b08
mov dword [ebp - 0x220], 0x5e303137
cmp eax, dword [esi + 4]
jle 0x4700c9
push 0x5d3300
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d3300], 0xffffffff
jne 0x4700c9
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x220]
push 0x4ee320
mov dword [0x5d33cc], eax
mov dword [0x5d33d0], ecx
call fcn.004bfaea
add esp, 4
push 0x5d3300
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d33d3]
test al, al
je 0x47010a
xor byte [0x5d33cc], 0x5e
xor byte [0x5d33cd], 0x5e
xor byte [0x5d33ce], 0x5e
xor byte [0x5d33cf], 0x5e
xor byte [0x5d33d0], 0x5e
xor byte [0x5d33d1], 0x5e
xor byte [0x5d33d2], 0x5e
xor al, 0x5e
mov byte [0x5d33d3], al
push dword [ebp - 0x420]
lea eax, [ebp - 0x218]
push 0x53b698
push 0x200
push eax
call fcn.0045dca0
add esp, 0x10
lea eax, [ebp - 0x218]
lea ecx, [ebp - 0x264]
push eax
push 0x5d349c
push 0x5d33cc
call fcn.0045ecb0
movaps xmm0, xmmword [0x53bc30]
mov eax, dword [0x5d3334]
movups xmmword [ebp - 0x2d0], xmm0
mov dword [ebp - 0x2a0], 0x5e2d3b2d
movaps xmm0, xmmword [0x53ba30]
movups xmmword [ebp - 0x2c0], xmm0
movaps xmm0, xmmword [0x53b970]
movups xmmword [ebp - 0x2b0], xmm0
cmp eax, dword [esi + 4]
jle 0x4701c7
push 0x5d3334
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d3334], 0xffffffff
jne 0x4701c7
lea eax, [ebp - 0x2d0]
mov ecx, 0x5d33e0
push eax
call fcn.00471080
push 0x4ee2d0
call fcn.004bfaea
add esp, 4
push 0x5d3334
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d3413], 0
je 0x47020e
movaps xmm2, xmmword [0x53bb90]
xor eax, eax
nop dword [eax]
movups xmm0, xmmword [eax + 0x5d33e0]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [eax + 0x5d33e0], xmm1
add eax, 0x10
cmp eax, 0x30
jb 0x4701e0
cmp eax, 0x34
jae 0x47020e
xor byte [eax + 0x5d33e0], 0x5e
inc eax
cmp eax, 0x34
jb 0x470201
mov eax, dword [0x5d3350]
mov dword [ebp - 0x224], 0x302b3f12
mov dword [ebp - 0x220], 0x2c3b363d
mov byte [ebp - 0x419], 0x5e
cmp eax, dword [esi + 4]
jle 0x470281
push 0x5d3350
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d3350], 0xffffffff
jne 0x470281
movq xmm0, qword [ebp - 0x224]
mov al, byte [ebp - 0x419]
push 0x4ee2f0
movq qword [0x5d3490], xmm0
mov byte [0x5d3498], al
call fcn.004bfaea
add esp, 4
push 0x5d3350
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d3498]
test al, al
je 0x4702c9
xor byte [0x5d3490], 0x5e
xor byte [0x5d3491], 0x5e
xor byte [0x5d3492], 0x5e
xor byte [0x5d3493], 0x5e
xor byte [0x5d3494], 0x5e
xor byte [0x5d3495], 0x5e
xor byte [0x5d3496], 0x5e
xor byte [0x5d3497], 0x5e
xor al, 0x5e
mov byte [0x5d3498], al
push 0x5d33e0
mov edx, 0x5d3490
call fcn.0046f260
mov byte [ebp - 0x419], 1
jmp 0x4705e0
mov eax, dword [0x5d3450]
cmp eax, dword [esi + 4]
jle 0x470339
push 0x5d3450
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d3450], 0xffffffff
jne 0x470339
mov eax, dword [ebp - 0x224]
mov dword [0x5d33d4], eax
mov ax, word [ebp - 0x220]
push 0x4ee2b0
mov word [0x5d33d8], ax
call fcn.004bfaea
add esp, 4
push 0x5d3450
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d33d9]
test al, al
je 0x47036c
xor byte [0x5d33d4], 0x5e
xor byte [0x5d33d5], 0x5e
xor byte [0x5d33d6], 0x5e
xor byte [0x5d33d7], 0x5e
xor byte [0x5d33d8], 0x5e
xor al, 0x5e
mov byte [0x5d33d9], al
mov eax, dword [0x5d3268]
mov dword [ebp - 0x224], 0x2d2c3b08
mov dword [ebp - 0x220], 0x5e303137
cmp eax, dword [esi + 4]
jle 0x4703d4
push 0x5d3268
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d3268], 0xffffffff
jne 0x4703d4
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x220]
push 0x4ee2c0
mov dword [0x5d337c], eax
mov dword [0x5d3380], ecx
call fcn.004bfaea
add esp, 4
push 0x5d3268
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d3383]
test al, al
je 0x470415
xor byte [0x5d337c], 0x5e
xor byte [0x5d337d], 0x5e
xor byte [0x5d337e], 0x5e
xor byte [0x5d337f], 0x5e
xor byte [0x5d3380], 0x5e
xor byte [0x5d3381], 0x5e
xor byte [0x5d3382], 0x5e
xor al, 0x5e
mov byte [0x5d3383], al
push dword [ebp - 0x420]
lea eax, [ebp - 0x218]
push 0x53b698
push 0x200
push eax
call fcn.0045dca0
add esp, 0x10
lea eax, [ebp - 0x218]
lea ecx, [ebp - 0x264]
push eax
push 0x5d33d4
push 0x5d337c
call fcn.0045ecb0
movaps xmm0, xmmword [0x53bc30]
mov eax, dword [0x5d31d4]
movups xmmword [ebp - 0x2d0], xmm0
mov dword [ebp - 0x2a0], 0x5e2d3b2d
movaps xmm0, xmmword [0x53ba30]
movups xmmword [ebp - 0x2c0], xmm0
movaps xmm0, xmmword [0x53b970]
movups xmmword [ebp - 0x2b0], xmm0
cmp eax, dword [esi + 4]
jle 0x4704d2
push 0x5d31d4
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d31d4], 0xffffffff
jne 0x4704d2
lea eax, [ebp - 0x2d0]
mov ecx, 0x5d328c
push eax
call fcn.00471080
push 0x4ee270
call fcn.004bfaea
add esp, 4
push 0x5d31d4
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d32bf], 0
je 0x47050f
movaps xmm1, xmmword [0x53bb90]
xor eax, eax
movups xmm0, xmmword [eax + 0x5d328c]
xorps xmm0, xmm1
movups xmmword [eax + 0x5d328c], xmm0
add eax, 0x10
cmp eax, 0x30
jb 0x4704e4
cmp eax, 0x34
jae 0x47050f
xor byte [eax + 0x5d328c], 0x5e
inc eax
cmp eax, 0x34
jb 0x470502
mov eax, dword [0x5d31f4]
mov dword [ebp - 0x224], 0x302b3f12
mov dword [ebp - 0x220], 0x2c3b363d
mov byte [ebp - 0x419], 0x5e
cmp eax, dword [esi + 4]
jle 0x470582
push 0x5d31f4
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d31f4], 0xffffffff
jne 0x470582
movq xmm0, qword [ebp - 0x224]
mov al, byte [ebp - 0x419]
push 0x4ee290
movq qword [0x5d32d4], xmm0
mov byte [0x5d32dc], al
call fcn.004bfaea
add esp, 4
push 0x5d31f4
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d32dc]
test al, al
je 0x4705ca
xor byte [0x5d32d4], 0x5e
xor byte [0x5d32d5], 0x5e
xor byte [0x5d32d6], 0x5e
xor byte [0x5d32d7], 0x5e
xor byte [0x5d32d8], 0x5e
xor byte [0x5d32d9], 0x5e
xor byte [0x5d32da], 0x5e
xor byte [0x5d32db], 0x5e
xor al, 0x5e
mov byte [0x5d32dc], al
push 0x5d328c
mov edx, 0x5d32d4
call fcn.0046f260
mov byte [ebp - 0x419], 0
mov eax, dword [ebp - 0x24c]
add esp, 4
push dword [eax + 4]
lea eax, [ebp - 0x24c]
push eax
mov ecx, eax
call fcn.0045f7f0
push 0x30
push dword [ebp - 0x24c]
call fcn.004bf874
mov ecx, dword [ebp - 0x250]
add esp, 8
cmp ecx, 0x10
jb 0x470644
mov edx, dword [ebp - 0x264]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x47063a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47084e
push ecx
push edx
call fcn.004bf874
add esp, 8
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0xf
mov byte [ebp - 0x264], 0
cmp ecx, 0x10
jb 0x470699
mov edx, dword [ebp - 0x29c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x47068f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47084e
push ecx
push edx
call fcn.004bf874
add esp, 8
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x288], 0xf
mov byte [ebp - 0x29c], 0
jmp 0x4706bd
mov byte [ebp - 0x419], 0
mov eax, dword [ebp - 0x26c]
push dword [eax + 4]
lea eax, [ebp - 0x26c]
push eax
mov ecx, eax
call fcn.0045f7f0
push 0x30
push dword [ebp - 0x26c]
call fcn.004bf874
mov ecx, dword [ebp - 0x270]
add esp, 8
cmp ecx, 0x10
jb 0x47071e
mov edx, dword [ebp - 0x284]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x470714
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47084e
push ecx
push edx
call fcn.004bf874
add esp, 8
lea ecx, [ebp - 0x418]
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x270], 0xf
mov byte [ebp - 0x284], 0
call fcn.00444090
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x470778
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x47076e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47084e
push ecx
push edx
call fcn.004bf874
add esp, 8
mov ecx, dword [ebx + 0x34]
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0xf
mov byte [ebx + 8], 0
cmp ecx, 0x10
jb 0x4707be
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4707b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47084e
push ecx
push edx
call fcn.004bf874
add esp, 8
mov ecx, dword [ebx + 0x4c]
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0xf
mov byte [ebx + 0x20], 0
cmp ecx, 0x10
jb 0x470800
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4707f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47084e
push ecx
push edx
call fcn.004bf874
add esp, 8
mov al, byte [ebp - 0x419]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004bf82c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x48
call fcn.00441cb0
call fcn.004bdf12
call fcn.004c7a60
call fcn.004c7a60
call fcn.004bdf12
call fcn.004c7a60
call fcn.004bdf12
call fcn.004c7a60
call fcn.004c7a60
int3