Function at 0x464380
Capabilities:
Contain obfuscated stackstrings
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 0x4e09a7
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2e8
mov eax, dword [0x533094]
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 [0x542ea0]
mov eax, dword [eax]
cmp dword [eax + 4], 0xffffffff
jne 0x4644a8
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x464415
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46440b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653ad
push ecx
push edx
call fcn.004b40e2
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 0x46445b
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464451
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653ad
push ecx
push edx
call fcn.004b40e2
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 0x4644a1
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464497
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653ad
push ecx
push edx
call fcn.004b40e2
add esp, 8
xor al, al
jmp 0x4651c2
call fcn.004641d0
test al, al
je 0x464539
movaps xmm0, xmmword [0x52ccf0]
xor ecx, ecx
movups xmmword [ebp - 0x2b8], xmm0
mov dword [ebp - 0x298], 0x56405256
movaps xmm0, xmmword [0x52cd70]
movups xmmword [ebp - 0x2a8], xmm0
mov dword [ebp - 0x294], 0x4a414713
mov dword [ebp - 0x290], 0x52545213
mov word [ebp - 0x28c], 0x5d5a
mov byte [ebp - 0x28a], 0
mov al, byte [ebp - 0x2b8]
xor byte [ebp + ecx - 0x2b7], al
inc ecx
cmp ecx, 0x2d
jb 0x464501
push 0x30
push str.AVCISOFT
lea eax, [ebp - 0x2b7]
mov byte [ebp - 0x28a], 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 0x4652f3
push 0x130
lea eax, [ebp - 0x178]
push 0
push eax
call fcn.004b6240
sub esp, 0x1c
lea ecx, [ebp - 0x178]
mov eax, esp
mov dword [eax], 0x52c824
mov dword [eax + 0x24], eax
call fcn.004446b0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x260]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x23c], 1
push 0x52933b
mov byte [ebp - 0x229], 0
movups xmmword [ebp - 0x260], xmm0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
call fcn.00448d90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x288]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x278], 0
push 0x52933b
movups xmmword [ebp - 0x288], xmm0
mov dword [ebp - 0x274], 0
call fcn.00448d90
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x229]
mov dword [ebp - 0x238], 0x15
push eax
lea eax, [ebp - 0x260]
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.00444ca0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x274]
cmp ecx, 0x10
jb 0x464670
mov edx, dword [ebp - 0x288]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464666
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653e4
push ecx
push edx
call fcn.004b40e2
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0x10
jb 0x4646ae
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4646a4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653e4
push ecx
push edx
call fcn.004b40e2
add esp, 8
lea eax, [ebp - 0x2f8]
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 - 0x2f4], 0x463f80
mov dword [ebp - 0x2d4], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb0]
push eax
mov dword [ebp - 0x7c], 0xffffffff
call fcn.00445ab0
mov eax, dword [ebp - 0xb8]
xorps xmm0, xmm0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2d4]
mov dword [ebp - 0x80], eax
movsd qword [ebp - 0x88], xmm0
mov byte [ebp - 0x78], 1
test ecx, ecx
je 0x46471e
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x2f8]
cmp ecx, eax
setne al
push eax
call edx
lea edi, [esi + 8]
lea eax, [ebx + 0x38]
cmp edi, eax
je 0x46473b
cmp dword [ebx + 0x4c], 0x10
mov ecx, edi
push dword [ebx + 0x48]
cmovae eax, dword [ebx + 0x38]
push eax
call fcn.00443580
mov ecx, dword [ebx + 0x30]
mov eax, closesocket
sub eax, ecx
cmp eax, 1
jb 0x4653b2
cmp dword [ebx + 0x34], 0x10
lea eax, [ebx + 0x20]
push 1
cmovae eax, dword [ebx + 0x20]
push 0x529528
push ecx
push eax
push ecx
push dword [ebp - 0x230]
lea ecx, [ebp - 0x288]
call fcn.00449890
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 - 0x23c], eax
mov eax, dword [ebp - 0x274]
sub eax, dword [ebp - 0x23c]
mov dword [ebp - 0x238], ecx
push ecx
push edx
cmp ecx, eax
ja 0x4647fd
mov eax, dword [ebp - 0x23c]
lea esi, [ebp - 0x288]
add eax, ecx
cmp dword [ebp - 0x274], 0x10
mov dword [ebp - 0x278], eax
cmovae esi, dword [ebp - 0x288]
mov eax, dword [ebp - 0x23c]
add eax, esi
push eax
call fcn.004b63a0
mov eax, dword [ebp - 0x238]
add esp, 0xc
mov ecx, dword [ebp - 0x23c]
add eax, esi
mov esi, dword [ebp - 0x230]
mov byte [eax + ecx], 0
lea eax, [ebp - 0x288]
jmp 0x46480f
push dword [ebp - 0x230]
push ecx
lea ecx, [ebp - 0x288]
call fcn.00448c30
xorps xmm0, xmm0
mov dword [ebp - 0x2c0], 0
movups xmmword [ebp - 0x2d0], xmm0
mov dword [ebp - 0x2bc], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2d0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2c0], 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 0x464cb3
cmp dword [ebp - 0x2c0], 0
je 0x464cb3
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x46490f
test byte [ebp - 0x104], 1
je 0x464cb3
push 0x4e
xorps xmm0, xmm0
mov dword [ebp - 0x250], eax
push str._FTPClient__Error__Curl_session_is_not_initialized___Use_InitSession___before.
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x24c], eax
movups xmmword [ebp - 0x260], xmm0
call fcn.00448d90
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x4653b7
mov eax, dword [ecx]
lea edx, [ebp - 0x260]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0x10
jb 0x464cb3
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464ca9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653bc
jmp 0x464ca9
push eax
call fcn.00469420
add esp, 4
mov byte [ebp - 0x229], 0
lea eax, [ebp - 0x2d0]
lea ecx, [ebp - 0x178]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00444fb0
push 0xb0
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0xa
push 0
push eax
call fcn.004b6240
add esp, 8
lea ecx, [ebp - 0x228]
call fcn.00446b20
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.00447e90
test eax, eax
lea ecx, [ebp - 0x228]
mov eax, dword [ebp - 0x228]
je 0x46499a
add ecx, dword [eax + 4]
xor edx, edx
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x4649af
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.00444570
mov eax, dword [ebp - 0x228]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x21c], 6
jne 0x464b6f
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
push 0x2712
push dword [ebp - 0xb8]
call fcn.0046d930
add esp, 0xc
push 0x445a50
push 0x4e2b
push dword [ebp - 0xb8]
call fcn.0046d930
add esp, 0xc
lea eax, [ebp - 0x228]
push eax
push 0x2711
push dword [ebp - 0xb8]
call fcn.0046d930
add esp, 0xc
lea ecx, [ebp - 0x178]
call fcn.00445720
mov dword [ebp - 0x230], eax
test eax, eax
je 0x464b0a
test byte [ebp - 0x104], 1
je 0x464b11
push eax
call fcn.00469f50
add esp, 4
lea edx, [ebp - 0x2d0]
cmp dword [ebp - 0x2bc], 0x10
lea ecx, [ebp - 0x140]
xorps xmm0, xmm0
cmovae edx, dword [ebp - 0x2d0]
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.00448d90
lea eax, [ebp - 0x2a4]
push eax
call fcn.004458e0
add esp, 0x2c
mov edx, eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x4653c1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x290]
cmp ecx, 0x10
jb 0x464b11
mov edx, dword [ebp - 0x2a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464afe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653c6
push ecx
push edx
call fcn.004b40e2
add esp, 8
jmp 0x464b11
mov byte [ebp - 0x229], 1
lea ecx, [ebp - 0x224]
call fcn.00447870
test eax, eax
jne 0x464b49
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.00444570
cmp byte [ebp - 0x229], 0
jne 0x464c05
cmp dword [ebx + 0x4c], 0x10
lea eax, [ebx + 0x38]
cmovae eax, dword [ebx + 0x38]
push eax
call fcn.004bd3e8
add esp, 4
jmp 0x464c05
test byte [ebp - 0x104], 1
je 0x464c05
push 0x4e
xorps xmm0, xmm0
mov dword [ebp - 0x250], 0
push str._FTPClient__Error__Unable_to_open_local_file__s_in_CFTPClient::DownloadFile__.
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x24c], 0
movups xmmword [ebp - 0x260], xmm0
call fcn.00448d90
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x4653cb
mov eax, dword [ecx]
lea edx, [ebp - 0x260]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0x10
jb 0x464c05
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464bfb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653d0
push ecx
push edx
call fcn.004b40e2
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.004467c0
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.004b29c8
mov byte [ebp - 4], 8
add esp, 4
mov ecx, dword [ebp - 0x30]
cmp ecx, 0x10
jb 0x464cb3
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464ca9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653d5
push ecx
push edx
call fcn.004b40e2
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x2bc]
cmp ecx, 0x10
jb 0x464cf1
mov edx, dword [ebp - 0x2d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464ce7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653da
push ecx
push edx
call fcn.004b40e2
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x274]
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0xf
mov byte [ebp - 0x2d0], 0
cmp ecx, 0x10
jb 0x464d4a
mov edx, dword [ebp - 0x288]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464d40
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653da
push ecx
push edx
call fcn.004b40e2
add esp, 8
lea ecx, [ebp - 0x178]
call fcn.00444eb0
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 0x464d7f
mov edi, dword [edi]
push ecx
push edi
lea ecx, [ebp - 0x2c]
call fcn.00448d90
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.004bfccb
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.00468f50
cmp dword [ebx + 0x4c], 0x10
lea eax, [ebx + 0x38]
cmovae eax, dword [ebx + 0x38]
push eax
call fcn.004bd3e8
add esp, 0xc
mov dword [ebp - 0x270], 0x41777824
mov cl, 0x24
mov dword [ebp - 0x26c], 0x56415256
mov dword [ebp - 0x268], 0x4d4a4d0a
xor eax, eax
mov byte [ebp - 0x264], 0
xor byte [ebp + eax - 0x26f], cl
inc eax
cmp eax, 0xb
jae 0x464e1a
mov cl, byte [ebp - 0x270]
jmp 0x464e05
mov ecx, edi
mov byte [ebp - 0x264], 0
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x30], 0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x464e40
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x44]
call fcn.00448d90
lea eax, [ebp - 0x26f]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x44]
call fcn.00446df0
xorps xmm0, xmm0
mov dword [ebp - 0x250], 0
movups xmmword [ebp - 0x260], xmm0
mov dword [ebp - 0x24c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x260], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x250], xmm0
mov dword [eax + 0x10], 0
lea ecx, [ebp - 0x2a4]
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x24c], 0x10
movsx edx, word [esi + 0x274]
cmovae eax, dword [ebp - 0x260]
mov dword [ebp - 0x230], eax
call fcn.0044ab30
mov edi, eax
cmp dword [edi + 0x14], 0x10
jb 0x464ee6
mov edi, dword [edi]
push dword [ebp - 0x230]
mov dh, 0x6d
mov byte [ebp - 0x248], 0x58
mov al, 0x2b
mov byte [ebp - 0x238], dh
xor al, dh
mov byte [ebp - 0x229], 0x36
mov byte [ebp - 0x237], al
mov cl, 4
xor cl, dh
mov byte [ebp - 0x232], 0
mov dl, 1
mov byte [ebp - 0x236], cl
xor dl, dh
mov byte [ebp - 0x240], 0
mov ah, 8
mov byte [ebp - 0x235], dl
xor ah, dh
mov byte [ebp - 0x232], 0
mov ch, 0x1e
mov byte [ebp - 0x234], ah
xor ch, dh
mov byte [ebp - 0x240], 0
mov al, 0xe
mov byte [ebp - 0x233], ch
xor al, byte [ebp - 0x248]
mov cl, 0x3d
mov byte [ebp - 0x247], al
mov dl, 0x2a
mov al, byte [ebp - 0x248]
mov ah, 0x2b
xor cl, al
xor dl, al
xor ah, al
mov byte [ebp - 0x246], cl
mov ch, 0x31
mov byte [ebp - 0x244], ah
xor ch, al
mov byte [ebp - 0x245], dl
mov dh, 0x37
mov byte [ebp - 0x243], ch
xor dh, al
mov al, byte [ebp - 0x229]
xor al, byte [ebp - 0x248]
mov byte [ebp - 0x241], al
lea eax, [ebp - 0x237]
push edi
push eax
lea eax, [ebp - 0x247]
mov byte [ebp - 0x242], dh
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [ebp - 0x290]
cmp ecx, 0x10
jb 0x464ff7
mov edx, dword [ebp - 0x2a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464fed
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653df
push ecx
push edx
call fcn.004b40e2
add esp, 8
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 0xf
mov byte [ebp - 0x2a4], 0
cmp ecx, 0x10
jb 0x46504c
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465042
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653df
push ecx
push edx
call fcn.004b40e2
add esp, 8
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
cmp ecx, 0x10
jb 0x46509b
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465091
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653df
push ecx
push edx
call fcn.004b40e2
add esp, 8
mov ax, word [esi + 0x274]
mov ecx, dword [ebp - 0x18]
cmp ax, word [esi + 0x270]
jne 0x4651e2
cmp ecx, 0x10
jb 0x4650e3
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4650d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653e4
push ecx
push edx
call fcn.004b40e2
add esp, 8
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00444900
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x465134
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46512a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653e4
push ecx
push edx
call fcn.004b40e2
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 0x46517a
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465170
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653e4
push ecx
push edx
call fcn.004b40e2
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 0x4651c0
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4651b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653e4
push ecx
push edx
call fcn.004b40e2
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.004b409a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x48
cmp ecx, 0x10
jb 0x465213
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x465209
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653e4
push ecx
push edx
call fcn.004b40e2
add esp, 8
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00444900
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x465264
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46525a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653e4
push ecx
push edx
call fcn.004b40e2
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 0x4652aa
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4652a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653e4
push ecx
push edx
call fcn.004b40e2
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 0x4644a1
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x464497
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653e4
jmp 0x464497
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x465327
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46531d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653ad
push ecx
push edx
call fcn.004b40e2
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 0x465369
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46535f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4653ad
push ecx
push edx
call fcn.004b40e2
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 0x4651c0
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4651b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4651b6
call fcn.004bc460
call fcn.004424f0
call fcn.004b2452
call fcn.004bc460
call fcn.004b2452
call fcn.004bc460
call fcn.004b2452
call fcn.004bc460
call fcn.004bc460
call fcn.004bc460
call fcn.004bc460
call fcn.004bc460
int3