Function at 0x422c60
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 0x49bc6c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2c0
mov eax, dword [0x4d90c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 4], 2
mov eax, dword [0x4dcb88]
mov eax, dword [eax]
cmp dword [eax + 4], 0xffffffff
jne 0x422d82
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0xf
jbe 0x422cef
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422ce5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b4d
push ecx
push edx
call fcn.00472269
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, 0xf
jbe 0x422d35
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422d2b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b4d
push ecx
push edx
call fcn.00472269
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, 0xf
jbe 0x422d7b
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422d71
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b4d
push ecx
push edx
call fcn.00472269
add esp, 8
xor al, al
jmp 0x423962
call fcn.00422aa0
test al, al
je 0x422e0a
movaps xmm0, xmmword [0x4d3460]
xor ecx, ecx
movups xmmword [ebp - 0x2a4], xmm0
mov dword [ebp - 0x284], 0x585e0a4f
movaps xmm0, xmmword [0x4d3410]
movups xmmword [ebp - 0x294], xmm0
mov dword [ebp - 0x280], 0x4d4b0a53
mov dword [ebp - 0x27c], 0x444434b
mov byte [ebp - 0x278], 0
mov al, byte [ebp - 0x2a4]
xor byte [ebp + ecx - 0x2a3], al
inc ecx
cmp ecx, 0x2b
jb 0x422dd2
push 0x30
push str.info
lea eax, [ebp - 0x2a3]
mov byte [ebp - 0x278], 0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ax, word [edi + 0x27e]
cmp ax, word [edi + 0x27c]
jge 0x423a93
push 0x130
lea eax, [ebp - 0x178]
push 0
push eax
call fcn.00473b50
sub esp, 0x1c
lea ecx, [ebp - 0x178]
mov eax, esp
mov dword [eax], 0x4d2fe4
mov dword [eax + 0x24], eax
call fcn.00403710
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x248]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x250], 1
push 0x4cdf71
mov byte [ebp - 0x229], 4
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0
call fcn.004080c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x274]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x264], 0
push 0x4cdf71
movups xmmword [ebp - 0x274], xmm0
mov dword [ebp - 0x260], 0
call fcn.004080c0
lea eax, [ebp - 0x250]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x229]
mov dword [ebp - 0x230], 0x15
push eax
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebx + 8]
push eax
lea ecx, [ebp - 0x178]
call fcn.00403d40
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x260]
cmp ecx, 0xf
jbe 0x422f41
mov edx, dword [ebp - 0x274]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422f37
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b84
push ecx
push edx
call fcn.00472269
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x422f7f
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422f75
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b84
push ecx
push edx
call fcn.00472269
add esp, 8
lea eax, [ebp - 0x2d0]
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 - 0x2cc], 0x422830
mov dword [ebp - 0x2ac], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb0]
push eax
mov dword [ebp - 0x7c], 0xffffffff
call fcn.00404bb0
mov eax, dword [ebp - 0xb8]
xorps xmm0, xmm0
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x80], eax
movsd qword [ebp - 0x88], xmm0
mov byte [ebp - 0x78], 1
test ecx, ecx
je 0x422fef
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x2d0]
cmp ecx, eax
setne al
push eax
call edx
lea esi, [edi + 8]
lea eax, [ebx + 0x38]
cmp esi, eax
je 0x42300c
cmp dword [ebx + 0x4c], 0xf
mov ecx, esi
push dword [ebx + 0x48]
cmova eax, dword [ebx + 0x38]
push eax
call fcn.004024f0
mov edx, dword [ebx + 0x30]
mov eax, accept
sub eax, edx
cmp eax, dword [ebx + 0x48]
jb 0x423b52
cmp dword [ebx + 0x34], 0xf
lea ecx, [ebx + 0x20]
push dword [ebx + 0x48]
cmova ecx, dword [ebx + 0x20]
lea eax, [ebx + 0x38]
cmp dword [ebx + 0x4c], 0xf
cmova eax, dword [ebx + 0x38]
push eax
push edx
push ecx
push ecx
push dword [ebp - 0x230]
lea ecx, [ebp - 0x274]
call fcn.00408ae0
mov byte [ebp - 4], 7
cmp dword [ebx + 0x48], 0
je 0x4234ab
cmp dword [ebp - 0x264], 0
je 0x4234ab
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x423107
test byte [ebp - 0x104], 1
je 0x4234ab
push 0x4e
xorps xmm0, xmm0
mov dword [ebp - 0x238], eax
push str._FTPClient__Error__Curl_session_is_not_initialized___Use_InitSession___before.
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x234], eax
movups xmmword [ebp - 0x248], xmm0
call fcn.004080c0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x423b57
mov eax, dword [ecx]
lea edx, [ebp - 0x248]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x4234ab
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4234a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b5c
jmp 0x4234a1
push eax
call fcn.00427920
add esp, 4
mov byte [ebp - 0x229], 0
lea eax, [ebp - 0x274]
lea ecx, [ebp - 0x178]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00404050
push 0xb0
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 9
push 0
push eax
call fcn.00473b50
add esp, 8
lea ecx, [ebp - 0x228]
call fcn.00405970
mov byte [ebp - 4], 0xa
lea eax, [ebx + 0x38]
cmp dword [ebx + 0x4c], 0xf
lea ecx, [ebp - 0x224]
cmova eax, dword [ebx + 0x38]
sub esp, 8
push eax
call fcn.00406fc0
test eax, eax
lea ecx, [ebp - 0x228]
mov eax, dword [ebp - 0x228]
je 0x423192
add ecx, dword [eax + 4]
xor edx, edx
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x4231a7
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.004035d0
mov eax, dword [ebp - 0x228]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x21c], 6
jne 0x423367
cmp dword [ebp - 0x30], 0xf
lea eax, [ebp - 0x44]
cmova eax, dword [ebp - 0x44]
push eax
push 0x2712
push dword [ebp - 0xb8]
call fcn.0042be20
add esp, 0xc
push 0x404b50
push 0x4e2b
push dword [ebp - 0xb8]
call fcn.0042be20
add esp, 0xc
lea eax, [ebp - 0x228]
push eax
push 0x2711
push dword [ebp - 0xb8]
call fcn.0042be20
add esp, 0xc
lea ecx, [ebp - 0x178]
call fcn.004047c0
mov dword [ebp - 0x230], eax
test eax, eax
je 0x423302
test byte [ebp - 0x104], 1
je 0x423309
push eax
call fcn.00428440
add esp, 4
lea edx, [ebp - 0x274]
cmp dword [ebp - 0x260], 0xf
lea ecx, [ebp - 0x140]
xorps xmm0, xmm0
cmova edx, dword [ebp - 0x274]
cmp dword [ebp - 0x12c], 0xf
push eax
push dword [ebp - 0x230]
cmova 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.004080c0
lea eax, [ebp - 0x290]
push eax
call fcn.004049e0
add esp, 0x2c
mov edx, eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x423b61
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x27c]
cmp ecx, 0xf
jbe 0x423309
mov edx, dword [ebp - 0x290]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4232f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b66
push ecx
push edx
call fcn.00472269
add esp, 8
jmp 0x423309
mov byte [ebp - 0x229], 1
lea ecx, [ebp - 0x224]
call fcn.004068b0
test eax, eax
jne 0x423341
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.004035d0
cmp byte [ebp - 0x229], 0
jne 0x4233fd
cmp dword [ebx + 0x4c], 0xf
lea eax, [ebx + 0x38]
cmova eax, dword [ebx + 0x38]
push eax
call fcn.0047aedc
add esp, 4
jmp 0x4233fd
test byte [ebp - 0x104], 1
je 0x4233fd
push 0x4e
xorps xmm0, xmm0
mov dword [ebp - 0x238], 0
push str._FTPClient__Error__Unable_to_open_local_file__s_in_CFTPClient::DownloadFile__.
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x234], 0
movups xmmword [ebp - 0x248], xmm0
call fcn.004080c0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x423b6b
mov eax, dword [ecx]
lea edx, [ebp - 0x248]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x4233fd
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4233f3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b70
push ecx
push edx
call fcn.00472269
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.004058c0
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], 0xd
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00470feb
mov byte [ebp - 4], 7
add esp, 4
mov ecx, dword [ebp - 0x30]
cmp ecx, 0xf
jbe 0x4234ab
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4234a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b75
push ecx
push edx
call fcn.00472269
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x260]
cmp ecx, 0xf
jbe 0x4234e9
mov edx, dword [ebp - 0x274]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4234df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b7a
push ecx
push edx
call fcn.00472269
add esp, 8
lea ecx, [ebp - 0x178]
call fcn.00403f50
mov ecx, dword [edi + 0x18]
xorps xmm0, xmm0
add ecx, 0xfffffffc
mov dword [ebp - 0x1c], 0
cmp dword [esi + 0x10], ecx
movups xmmword [ebp - 0x2c], xmm0
cmovb ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], 0xf
mov dword [ebp - 0x18], 0
jbe 0x42351e
mov esi, dword [esi]
push ecx
push esi
lea ecx, [ebp - 0x2c]
call fcn.004080c0
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
cmova eax, dword [ebp - 0x2c]
push eax
call fcn.0047d5d1
add esp, 4
mov word [edi + 0x27e], ax
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebx + 0x4c], 0xf
lea ecx, [ebx + 0x38]
lea esi, [edi + 0x2c]
cmova ecx, dword [ebx + 0x38]
mov edx, esi
sub esp, 8
call fcn.004274d0
cmp dword [ebx + 0x4c], 0xf
lea eax, [ebx + 0x38]
cmova eax, dword [ebx + 0x38]
push eax
call fcn.0047aedc
add esp, 0xc
mov dword [ebp - 0x240], 0x586e613d
mov cl, 0x3d
mov dword [ebp - 0x23c], 0x4f584b4f
mov dword [ebp - 0x238], 0x54535413
xor eax, eax
mov byte [ebp - 0x234], 0
xor byte [ebp + eax - 0x23f], cl
inc eax
cmp eax, 0xb
jae 0x4235b9
mov cl, byte [ebp - 0x240]
jmp 0x4235a4
mov ecx, esi
mov byte [ebp - 0x234], 0
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x30], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4235e0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x44]
call fcn.004080c0
lea eax, [ebp - 0x23f]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x44]
call fcn.00405f40
xorps xmm0, xmm0
mov dword [ebp - 0x264], 0
movups xmmword [ebp - 0x274], xmm0
mov dword [ebp - 0x260], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x274], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x264], xmm0
mov dword [eax + 0x10], 0
lea ecx, [ebp - 0x290]
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x274]
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x260], 0xf
movsx edx, word [edi + 0x27e]
cmova eax, dword [ebp - 0x274]
mov dword [ebp - 0x230], eax
call fcn.00409d00
mov esi, eax
cmp dword [esi + 0x14], 0xf
jbe 0x423686
mov esi, dword [esi]
push dword [ebp - 0x230]
mov dh, 0x59
mov byte [ebp - 0x25c], 0x5c
mov al, 0x1f
mov byte [ebp - 0x250], dh
xor al, dh
mov byte [ebp - 0x229], 0x32
mov byte [ebp - 0x24f], al
mov cl, 0x30
xor cl, dh
mov byte [ebp - 0x24a], 0
mov dl, 0x35
mov byte [ebp - 0x24e], cl
xor dl, dh
mov byte [ebp - 0x254], 0
mov ah, 0x3c
mov byte [ebp - 0x24d], dl
xor ah, dh
mov byte [ebp - 0x24a], 0
mov ch, 0x2a
mov byte [ebp - 0x24c], ah
xor ch, dh
mov byte [ebp - 0x254], 0
mov al, 0xa
mov byte [ebp - 0x24b], ch
xor al, byte [ebp - 0x25c]
mov cl, 0x39
mov byte [ebp - 0x25b], al
mov dl, 0x2e
mov al, byte [ebp - 0x25c]
mov ah, 0x2f
xor cl, al
xor dl, al
xor ah, al
mov byte [ebp - 0x25a], cl
mov ch, 0x35
mov byte [ebp - 0x258], ah
xor ch, al
mov byte [ebp - 0x259], dl
mov dh, 0x33
mov byte [ebp - 0x257], ch
xor dh, al
mov al, byte [ebp - 0x229]
xor al, byte [ebp - 0x25c]
mov byte [ebp - 0x255], al
lea eax, [ebp - 0x24f]
push esi
push eax
lea eax, [ebp - 0x25b]
mov byte [ebp - 0x256], dh
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [ebp - 0x27c]
cmp ecx, 0xf
jbe 0x423797
mov edx, dword [ebp - 0x290]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42378d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b7f
push ecx
push edx
call fcn.00472269
add esp, 8
mov ecx, dword [ebp - 0x260]
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 0xf
mov byte [ebp - 0x290], 0
cmp ecx, 0xf
jbe 0x4237ec
mov edx, dword [ebp - 0x274]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4237e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b7f
push ecx
push edx
call fcn.00472269
add esp, 8
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0xf
mov byte [ebp - 0x274], 0
cmp ecx, 0xf
jbe 0x42383b
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423831
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b7f
push ecx
push edx
call fcn.00472269
add esp, 8
mov ax, word [edi + 0x27e]
mov ecx, dword [ebp - 0x18]
cmp ax, word [edi + 0x27c]
jne 0x423982
cmp ecx, 0xf
jbe 0x423883
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423879
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b84
push ecx
push edx
call fcn.00472269
add esp, 8
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00403980
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0xf
jbe 0x4238d4
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4238ca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b84
push ecx
push edx
call fcn.00472269
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, 0xf
jbe 0x42391a
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423910
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b84
push ecx
push edx
call fcn.00472269
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, 0xf
jbe 0x423960
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423956
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b84
push ecx
push edx
call fcn.00472269
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.00472221
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x48
cmp ecx, 0xf
jbe 0x4239b3
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4239a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b84
push ecx
push edx
call fcn.00472269
add esp, 8
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.00403980
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0xf
jbe 0x423a04
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4239fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b84
push ecx
push edx
call fcn.00472269
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, 0xf
jbe 0x423a4a
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423a40
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b84
push ecx
push edx
call fcn.00472269
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, 0xf
jbe 0x422d7b
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422d71
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b84
jmp 0x422d71
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0xf
jbe 0x423ac7
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423abd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b4d
push ecx
push edx
call fcn.00472269
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, 0xf
jbe 0x423b09
mov edx, dword [ebx + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423aff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423b4d
push ecx
push edx
call fcn.00472269
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, 0xf
jbe 0x423960
mov edx, dword [ebx + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423956
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x423956
call fcn.00479f90
call fcn.00401410
call fcn.004709f2
call fcn.00479f90
call fcn.004709f2
call fcn.00479f90
call fcn.004709f2
call fcn.00479f90
call fcn.00479f90
call fcn.00479f90
call fcn.00479f90
call fcn.00479f90
int3