Function at 0x464750
Capabilities:
Encode data using xor
Terminate process

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 0x4e0dc7
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2d0
mov eax, dword [0x534094]
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 - 0x230], esi
mov dword [ebp - 4], 2
mov eax, dword [0x543ea0]
mov eax, dword [eax]
cmp dword [eax + 4], 0xffffffff
jne 0x464878
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x4647e5
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4647db
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x465793
push ecx
push edx
call fcn.004b44b2
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 0x46482b
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464821
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x465793
push ecx
push edx
call fcn.004b44b2
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 0x464871
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464867
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x465793
push ecx
push edx
call fcn.004b44b2
add esp, 8
xor al, al
jmp 0x4655a8
call fcn.004645a0
test al, al
je 0x464928
movaps xmm0, xmmword [0x52dcb0]
xor ecx, ecx
movups xmmword [ebp - 0x1e0], xmm0
mov word [ebp - 0x180], 0x1151
movaps xmm0, xmmword [0x52dd30]
movups xmmword [ebp - 0x1d0], xmm0
mov byte [ebp - 0x17e], 0
movaps xmm0, xmmword [str.ZLZ]
movups xmmword [ebp - 0x1c0], xmm0
movaps xmm0, xmmword [0x52ddb0]
movups xmmword [ebp - 0x1b0], xmm0
movaps xmm0, xmmword [0x52dda0]
movups xmmword [ebp - 0x1a0], xmm0
movaps xmm0, xmmword [0x52dd60]
movups xmmword [ebp - 0x190], xmm0
nop dword [eax + eax]
mov al, byte [ebp - 0x1e0]
xor byte [ebp + ecx - 0x1df], al
inc ecx
cmp ecx, 0x61
jb 0x4648f0
push 0x30
push str.AVCISOFT
lea eax, [ebp - 0x1df]
mov byte [ebp - 0x17e], 0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ax, word [esi + 0x274]
cmp ax, word [esi + 0x270]
jge 0x4656d9
push 0x130
lea eax, [ebp - 0x178]
push 0
push eax
call fcn.004b6610
sub esp, 0x1c
lea ecx, [ebp - 0x178]
mov eax, esp
mov dword [eax], 0x52d818
mov dword [eax + 0x24], eax
call fcn.00444a90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x25c]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x270], 1
push 0x52a333
mov byte [ebp - 0x229], 0
movups xmmword [ebp - 0x25c], xmm0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
call fcn.00449170
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x288]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x278], 0
push 0x52a333
movups xmmword [ebp - 0x288], xmm0
mov dword [ebp - 0x274], 0
call fcn.00449170
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x229]
mov dword [ebp - 0x238], 0x15
push eax
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebx + 8]
push eax
lea ecx, [ebp - 0x178]
call fcn.00445080
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x274]
cmp ecx, 0x10
jb 0x464a5f
mov edx, dword [ebp - 0x288]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464a55
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657ca
push ecx
push edx
call fcn.004b44b2
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x248]
cmp ecx, 0x10
jb 0x464a9d
mov edx, dword [ebp - 0x25c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464a93
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657ca
push ecx
push edx
call fcn.004b44b2
add esp, 8
lea eax, [ebp - 0x2e0]
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 - 0x2dc], 0x464350
mov dword [ebp - 0x2bc], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb0]
push eax
mov dword [ebp - 0x7c], 0xffffffff
call fcn.00445e90
mov eax, dword [ebp - 0xb8]
xorps xmm0, xmm0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x80], eax
movsd qword [ebp - 0x88], xmm0
mov byte [ebp - 0x78], 1
test ecx, ecx
je 0x464b0d
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x2e0]
cmp ecx, eax
setne al
push eax
call edx
lea edi, [esi + 8]
lea eax, [ebx + 0x38]
cmp edi, eax
je 0x464b2a
cmp dword [ebx + 0x4c], 0x10
mov ecx, edi
push dword [ebx + 0x48]
cmovae eax, dword [ebx + 0x38]
push eax
call fcn.00443960
mov ecx, dword [ebx + 0x30]
mov eax, closesocket
sub eax, ecx
cmp eax, 1
jb 0x465798
cmp dword [ebx + 0x34], 0x10
lea eax, [ebx + 0x20]
push 1
cmovae eax, dword [ebx + 0x20]
push 0x52a520
push ecx
push eax
push ecx
push dword [ebp - 0x230]
lea ecx, [ebp - 0x288]
call fcn.00449c70
mov byte [ebp - 4], 7
lea edx, [ebx + 0x38]
cmp dword [ebx + 0x4c], 0x10
mov eax, dword [ebp - 0x278]
cmovae edx, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x48]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x274]
sub eax, dword [ebp - 0x270]
mov dword [ebp - 0x238], ecx
push ecx
push edx
cmp ecx, eax
ja 0x464bdf
mov esi, dword [ebp - 0x270]
cmp dword [ebp - 0x274], 0x10
lea eax, [esi + ecx]
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x288]
cmovae eax, dword [ebp - 0x288]
add esi, eax
push esi
call fcn.004b6770
mov eax, dword [ebp - 0x238]
add esp, 0xc
mov byte [esi + eax], 0
lea eax, [ebp - 0x288]
mov esi, dword [ebp - 0x230]
jmp 0x464bf1
push dword [ebp - 0x230]
push ecx
lea ecx, [ebp - 0x288]
call fcn.00449010
xorps xmm0, xmm0
mov dword [ebp - 0x290], 0
movups xmmword [ebp - 0x2a0], xmm0
mov dword [ebp - 0x28c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2a0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x290], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 8
cmp dword [ebx + 0x48], 0
je 0x465095
cmp dword [ebp - 0x290], 0
je 0x465095
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x464cf1
test byte [ebp - 0x104], 1
je 0x465095
push 0x4e
xorps xmm0, xmm0
mov dword [ebp - 0x24c], eax
push str._FTPClient__Error__Curl_session_is_not_initialized___Use_InitSession___before.
lea ecx, [ebp - 0x25c]
mov dword [ebp - 0x248], eax
movups xmmword [ebp - 0x25c], xmm0
call fcn.00449170
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x46579d
mov eax, dword [ecx]
lea edx, [ebp - 0x25c]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x248]
cmp ecx, 0x10
jb 0x465095
mov edx, dword [ebp - 0x25c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46508b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657a2
jmp 0x46508b
push eax
call fcn.00469800
add esp, 4
mov byte [ebp - 0x229], 0
lea eax, [ebp - 0x2a0]
lea ecx, [ebp - 0x178]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00445390
push 0xb0
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0xa
push 0
push eax
call fcn.004b6610
add esp, 8
lea ecx, [ebp - 0x228]
call fcn.00446f00
mov byte [ebp - 4], 0xb
lea eax, [ebx + 0x38]
cmp dword [ebx + 0x4c], 0x10
lea ecx, [ebp - 0x224]
cmovae eax, dword [ebx + 0x38]
sub esp, 8
push eax
call fcn.00448270
test eax, eax
lea ecx, [ebp - 0x228]
mov eax, dword [ebp - 0x228]
je 0x464d7c
add ecx, dword [eax + 4]
xor edx, edx
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x464d91
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.00444950
mov eax, dword [ebp - 0x228]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x21c], 6
jne 0x464f51
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
push 0x2712
push dword [ebp - 0xb8]
call fcn.0046dd00
add esp, 0xc
push 0x445e30
push 0x4e2b
push dword [ebp - 0xb8]
call fcn.0046dd00
add esp, 0xc
lea eax, [ebp - 0x228]
push eax
push 0x2711
push dword [ebp - 0xb8]
call fcn.0046dd00
add esp, 0xc
lea ecx, [ebp - 0x178]
call fcn.00445b00
mov dword [ebp - 0x230], eax
test eax, eax
je 0x464eec
test byte [ebp - 0x104], 1
je 0x464ef3
push eax
call fcn.0046a320
add esp, 4
lea edx, [ebp - 0x2a0]
cmp dword [ebp - 0x28c], 0x10
lea ecx, [ebp - 0x140]
xorps xmm0, xmm0
cmovae edx, dword [ebp - 0x2a0]
cmp dword [ebp - 0x12c], 0x10
push eax
push dword [ebp - 0x230]
cmovae ecx, dword [ebp - 0x140]
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.00449170
lea eax, [ebp - 0x2b8]
push eax
call fcn.00445cc0
add esp, 0x2c
mov edx, eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x4657a7
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x2a4]
cmp ecx, 0x10
jb 0x464ef3
mov edx, dword [ebp - 0x2b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464ee0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657ac
push ecx
push edx
call fcn.004b44b2
add esp, 8
jmp 0x464ef3
mov byte [ebp - 0x229], 1
lea ecx, [ebp - 0x224]
call fcn.00447c50
test eax, eax
jne 0x464f2b
mov eax, dword [ebp - 0x228]
lea ecx, [ebp - 0x228]
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.00444950
cmp byte [ebp - 0x229], 0
jne 0x464fe7
cmp dword [ebx + 0x4c], 0x10
lea eax, [ebx + 0x38]
cmovae eax, dword [ebx + 0x38]
push eax
call fcn.004bd7b8
add esp, 4
jmp 0x464fe7
test byte [ebp - 0x104], 1
je 0x464fe7
push 0x4e
xorps xmm0, xmm0
mov dword [ebp - 0x24c], 0
push str._FTPClient__Error__Unable_to_open_local_file__s_in_CFTPClient::DownloadFile__.
lea ecx, [ebp - 0x25c]
mov dword [ebp - 0x248], 0
movups xmmword [ebp - 0x25c], xmm0
call fcn.00449170
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x4657b1
mov eax, dword [ecx]
lea edx, [ebp - 0x25c]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x248]
cmp ecx, 0x10
jb 0x464fe7
mov edx, dword [ebp - 0x25c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464fdd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657b6
push ecx
push edx
call fcn.004b44b2
add esp, 8
mov eax, dword [ebp - 0x228]
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 - 0x228]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x22c], eax
lea ecx, [ebp - 0x224]
call fcn.00446ba0
mov eax, dword [ebp - 0x228]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x228]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x22c], eax
lea eax, [ebp - 0x1c0]
mov byte [ebp - 4], 0xe
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004b2d98
mov byte [ebp - 4], 8
add esp, 4
mov ecx, dword [ebp - 0x30]
cmp ecx, 0x10
jb 0x465095
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46508b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657bb
push ecx
push edx
call fcn.004b44b2
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x28c]
cmp ecx, 0x10
jb 0x4650d3
mov edx, dword [ebp - 0x2a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4650c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657c0
push ecx
push edx
call fcn.004b44b2
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x274]
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 0xf
mov byte [ebp - 0x2a0], 0
cmp ecx, 0x10
jb 0x46512c
mov edx, dword [ebp - 0x288]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465122
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657c0
push ecx
push edx
call fcn.004b44b2
add esp, 8
lea ecx, [ebp - 0x178]
call fcn.00445290
mov ecx, dword [esi + 0x18]
xorps xmm0, xmm0
add ecx, 0xfffffffc
mov dword [ebp - 0x1c], 0
cmp dword [edi + 0x10], ecx
movups xmmword [ebp - 0x2c], xmm0
cmovb ecx, dword [edi + 0x10]
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x18], 0
jb 0x465161
mov edi, dword [edi]
push ecx
push edi
lea ecx, [ebp - 0x2c]
call fcn.00449170
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.004c009b
add esp, 4
mov word [esi + 0x274], ax
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebx + 0x4c], 0x10
lea ecx, [ebx + 0x38]
lea edi, [esi + 0x2c]
cmovae ecx, dword [ebx + 0x38]
mov edx, edi
sub esp, 8
call fcn.00469330
cmp dword [ebx + 0x4c], 0x10
lea eax, [ebx + 0x38]
cmovae eax, dword [ebx + 0x38]
push eax
call fcn.004bd7b8
add esp, 0xc
mov dword [ebp - 0x26c], 0x64525d01
mov cl, 1
mov dword [ebp - 0x268], 0x73647773
mov dword [ebp - 0x264], 0x686f682f
xor eax, eax
mov byte [ebp - 0x260], 0
nop word [eax + eax]
xor byte [ebp + eax - 0x26b], cl
inc eax
cmp eax, 0xb
jae 0x465205
mov cl, byte [ebp - 0x26c]
jmp 0x4651f0
mov ecx, edi
mov byte [ebp - 0x260], 0
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x30], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x465226
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x44]
call fcn.00449170
lea eax, [ebp - 0x26b]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x44]
call fcn.004471d0
xorps xmm0, xmm0
mov dword [ebp - 0x24c], 0
movups xmmword [ebp - 0x25c], xmm0
mov dword [ebp - 0x248], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x25c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x24c], xmm0
mov dword [eax + 0x10], 0
lea ecx, [ebp - 0x2b8]
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x248], 0x10
movsx edx, word [esi + 0x274]
cmovae eax, dword [ebp - 0x25c]
mov dword [ebp - 0x230], eax
call fcn.0044af10
mov edi, eax
cmp dword [edi + 0x14], 0x10
jb 0x4652cc
mov edi, dword [edi]
push dword [ebp - 0x230]
mov dh, 0x28
mov byte [ebp - 0x244], 0x11
mov al, 0x6e
mov byte [ebp - 0x238], dh
xor al, dh
mov byte [ebp - 0x229], 0x7f
mov byte [ebp - 0x237], al
mov cl, 0x41
xor cl, dh
mov byte [ebp - 0x232], 0
mov dl, 0x44
mov byte [ebp - 0x236], cl
xor dl, dh
mov byte [ebp - 0x23c], 0
mov ah, 0x4d
mov byte [ebp - 0x235], dl
xor ah, dh
mov byte [ebp - 0x232], 0
mov ch, 0x5b
mov byte [ebp - 0x234], ah
xor ch, dh
mov byte [ebp - 0x23c], 0
mov al, 0x47
mov byte [ebp - 0x233], ch
xor al, byte [ebp - 0x244]
mov cl, 0x74
mov byte [ebp - 0x243], al
mov dl, 0x63
mov al, byte [ebp - 0x244]
mov ah, 0x62
xor cl, al
xor dl, al
xor ah, al
mov byte [ebp - 0x242], cl
mov ch, 0x78
mov byte [ebp - 0x240], ah
xor ch, al
mov byte [ebp - 0x241], dl
mov dh, 0x7e
mov byte [ebp - 0x23f], ch
xor dh, al
mov al, byte [ebp - 0x229]
xor al, byte [ebp - 0x244]
mov byte [ebp - 0x23d], al
lea eax, [ebp - 0x237]
push edi
push eax
lea eax, [ebp - 0x243]
mov byte [ebp - 0x23e], dh
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [ebp - 0x2a4]
cmp ecx, 0x10
jb 0x4653dd
mov edx, dword [ebp - 0x2b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4653d3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657c5
push ecx
push edx
call fcn.004b44b2
add esp, 8
mov ecx, dword [ebp - 0x248]
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2a4], 0xf
mov byte [ebp - 0x2b8], 0
cmp ecx, 0x10
jb 0x465432
mov edx, dword [ebp - 0x25c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465428
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657c5
push ecx
push edx
call fcn.004b44b2
add esp, 8
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0xf
mov byte [ebp - 0x25c], 0
cmp ecx, 0x10
jb 0x465481
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465477
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657c5
push ecx
push edx
call fcn.004b44b2
add esp, 8
mov ax, word [esi + 0x274]
mov ecx, dword [ebp - 0x18]
cmp ax, word [esi + 0x270]
jne 0x4655c8
cmp ecx, 0x10
jb 0x4654c9
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4654bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657ca
push ecx
push edx
call fcn.004b44b2
add esp, 8
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00444ce0
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x46551a
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465510
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657ca
push ecx
push edx
call fcn.004b44b2
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 0x465560
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465556
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657ca
push ecx
push edx
call fcn.004b44b2
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 0x4655a6
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46559c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657ca
push ecx
push edx
call fcn.004b44b2
add esp, 8
mov al, 1
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.004b446a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x48
cmp ecx, 0x10
jb 0x4655f9
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4655ef
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657ca
push ecx
push edx
call fcn.004b44b2
add esp, 8
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00444ce0
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x46564a
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465640
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657ca
push ecx
push edx
call fcn.004b44b2
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 0x465690
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465686
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657ca
push ecx
push edx
call fcn.004b44b2
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 0x464871
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464867
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4657ca
jmp 0x464867
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x46570d
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465703
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x465793
push ecx
push edx
call fcn.004b44b2
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 0x46574f
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465745
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x465793
push ecx
push edx
call fcn.004b44b2
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 0x4655a6
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46559c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x46559c
call fcn.004bc830
call fcn.004428d0
call fcn.004b2822
call fcn.004bc830
call fcn.004b2822
call fcn.004bc830
call fcn.004b2822
call fcn.004bc830
call fcn.004bc830
call fcn.004bc830
call fcn.004bc830
call fcn.004bc830
int3