Function at 0x40ae90
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48b8c7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x150
push esi
push edi
mov edi, ecx
mov dword [ebp - 0xac], edi
mov dword [ebp - 4], 1
cmp byte [edi + 0x3b9], 0
jne 0x40afc9
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x40afc9
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0xa0]
mov edx, str.Error_2063___A_dependency_has_failed_while_processing_the
lea eax, [eax + eax*2]
lea eax, [eax + 0x27]
lea eax, [edi + eax*8]
push eax
call fcn.0041eed0
add esp, 4
push 5
push 0x4a2ff4
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.00404c10
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x60], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push ecx
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 3
push eax
push 0x3de
mov ecx, edi
call fcn.00408930
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x40af7d
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40af73
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bb99
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x40afbd
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40afb3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bb99
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov dword [ebp + 0xc], 0
jmp 0x40bb4d
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0xa0]
mov edx, str.Information_2062___Feed
mov dword [ebp + 0xc], 1
lea eax, [eax + eax*2]
lea eax, [eax + 0x27]
lea esi, [edi + eax*8]
push esi
mov dword [ebp - 0x28], esi
call fcn.0041eed0
add esp, 4
push 4
push str._is
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.00404c10
mov dword [ebp - 0x30], 0
xor ecx, ecx
mov dword [ebp - 0x2c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x30], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov eax, dword [ebp + 8]
mov ecx, str.disabled
add eax, 0xec
mov byte [ebp - 4], 5
add eax, edi
mov edx, str.enabled
mov dword [ebp - 0xa8], eax
cmp byte [eax], 0
cmove edx, ecx
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0xa4], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b066
sub ecx, dword [ebp - 0xa4]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.00404c10
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x60], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push ecx
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 6
push eax
push 0x3df
mov ecx, edi
call fcn.00408930
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x40b0fa
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b0f0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bb9e
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x40b138
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b12e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bb9e
push edx
push ecx
call fcn.0044cee7
add esp, 8
xor eax, eax
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
cmp edx, 8
jb 0x40b190
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b186
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bb9e
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov eax, dword [ebp - 0xa8]
cmp byte [eax], 0
je 0x40bb4d
push esi
mov edx, str.Information_2003___Starting
lea ecx, [ebp - 0x58]
call fcn.0041eed0
add esp, 4
push 0x18
push str._data_synchronisation...
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.00404c10
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x24], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x14], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 1
push 0x3e7
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 8
push eax
push ecx
mov ecx, edi
call fcn.0040bbe0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b23b
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b231
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bba3
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x40b279
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b26f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bba3
push edx
push ecx
call fcn.0044cee7
add esp, 8
cmp byte [ebp + 0x10], 0
jne 0x40b37a
cmp byte [edi + 0x505], 0
jne 0x40b37a
push esi
mov edx, str.Information_2010___The
lea ecx, [ebp - 0x58]
call fcn.0041eed0
add esp, 4
push 0x17
push str._is_the_latest_version.
mov ecx, eax
mov byte [ebp - 4], 0x11
call fcn.00404c10
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x24], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x14], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 1
push 0x3e7
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x12
push eax
push 0x64
mov ecx, edi
call fcn.0040bbe0
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b32d
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b323
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bba8
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x40b36b
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b361
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bba8
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov esi, dword [ebp + 8]
mov dword [ebp + 0xc], 1
jmp 0x40b79f
lea esi, [edi + 0x248]
call fcn.004314c0
push 8
mov dword [esi], eax
lea eax, [ebp + 0x10]
push esi
push eax
push 0x4b5b50
push 0x4b5a30
mov dword [esi + 4], edx
mov dword [ebp + 0x10], 3
call fcn.004356e0
mov esi, dword [ebp + 8]
add esp, 0x14
lea eax, [esi + esi*2]
lea ecx, [edi + eax*8]
lea eax, [edi + 0x458]
push eax
lea eax, [ecx + 0xf0]
push eax
lea eax, [ecx + 0x180]
mov ecx, edi
push eax
call fcn.0040cd00
sub eax, 0
je 0x40b6a6
sub eax, 1
je 0x40b5bd
sub eax, 1
je 0x40b46a
push 0x3a
xor eax, eax
mov dword [ebp - 0x14], 0
push str.Error__unexpected_result_whilst_downloading_the_synch_file
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x10], 7
mov word [ebp - 0x24], ax
call fcn.00404a80
push 0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x10
push eax
push 0x3de
mov ecx, edi
call fcn.00408930
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b798
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b45b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbd0
push edx
push ecx
call fcn.0044cee7
add esp, 8
jmp 0x40b798
push dword [ebp - 0x28]
mov edx, str.Information_2009___Completed
lea ecx, [ebp - 0x58]
call fcn.0041eed0
add esp, 4
push 0x16
push str._data_synchronisation.
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.00404c10
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x24], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x14], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 1
push 0x3e7
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0xc
push eax
push 0x64
mov ecx, edi
call fcn.0040bbe0
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b509
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b4ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbad
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x40b547
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b53d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbad
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov ecx, dword [ebp + 0x60]
test ecx, ecx
je 0x40bbb7
mov eax, dword [ecx]
lea edx, [ebp - 0x24]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp + 0x38]
test ecx, ecx
je 0x40bbb7
mov eax, dword [ecx]
lea edx, [ebp - 0x24]
push edx
call dword [eax + 8]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b5b1
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b5a7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbb2
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov dword [ebp + 0xc], 2
jmp 0x40b79f
push dword [ebp - 0x28]
mov edx, str.Information_2009___Completed
lea ecx, [ebp - 0x58]
call fcn.0041eed0
add esp, 4
push 0x27
push str._data_synchronisation__no_changes_made.
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.00404c10
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x24], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x14], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 1
push 0x3e7
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0xf
push eax
push 0x64
mov ecx, edi
call fcn.0040bbe0
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b65c
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b652
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbbc
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x40b69a
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b690
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbbc
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov dword [ebp + 0xc], 1
jmp 0x40b79f
push dword [ebp - 0x28]
mov edx, str.Error_2004___Unable_to_download_the_synchronisation_file_for_the
lea ecx, [ebp - 0x58]
call fcn.0041eed0
add esp, 4
push 6
push str._feed.
mov ecx, eax
mov byte [ebp - 4], 9
call fcn.00404c10
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x24], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x14], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 1
push 0x3e7
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0xa
push eax
push ecx
mov ecx, edi
call fcn.0040bbe0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b744
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b73a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbc1
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x40b782
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b778
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbc1
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov eax, dword [edi + 0x4e4]
mov ecx, 2
cmp eax, ecx
cmovl eax, ecx
mov dword [edi + 0x4e4], eax
mov dword [ebp + 0xc], 0
lea esi, [esi + 0xa]
lea eax, [esi + esi*2]
lea esi, [edi + eax*8]
push esi
lea ecx, [ebp - 0x40]
call fcn.004049c0
push esi
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x13
call fcn.004049c0
push str.never_send_
lea esi, [edi + 0x474]
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x70]
push esi
push eax
call fcn.0041f2a0
add esp, 0xc
push esi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x15
call fcn.004049c0
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.004327f0
add esp, 0xc
cmp byte [edi + 0x3b9], 0
je 0x40b942
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x88]
cmovae ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x74], 8
push ecx
cmovae eax, dword [ebp - 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push 1
push 3
lea ecx, [ebp - 0x15c]
mov edi, eax
call fcn.0041a500
mov eax, str.failed_to_move
mov byte [ebp - 4], 0x17
test edi, edi
lea ecx, [ebp - 0x14c]
mov esi, str.moved
mov edx, str.Updating_a_4.3_kiosk_
cmove esi, eax
call fcn.0041f000
mov edx, esi
mov ecx, eax
call fcn.0041f000
mov edx, str._synch_file_from_
mov ecx, eax
call fcn.0041f000
cmp dword [ebp - 0x74], 8
lea ecx, [ebp - 0x88]
push dword [ebp - 0x78]
cmovae ecx, dword [ebp - 0x88]
push ecx
push eax
call fcn.00420cb0
mov edx, 0x4a3394
mov ecx, eax
call fcn.0041f000
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x40]
push dword [ebp - 0x30]
cmovae ecx, dword [ebp - 0x40]
push ecx
push eax
call fcn.00420cb0
add esp, 0x18
mov edx, 0x4a3390
mov ecx, eax
call fcn.0041f000
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x15c]
call fcn.0041a450
mov edi, dword [ebp - 0xac]
mov ecx, edi
push 0
push eax
push 0x3df
mov byte [ebp - 4], 0x18
call fcn.00408930
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x40b933
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b929
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbc6
push edx
push ecx
call fcn.0044cee7
add esp, 8
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x16
call fcn.0040a3b0
push dword [ebp - 0x28]
mov edx, str.Information___Feed
lea ecx, [ebp - 0x58]
call fcn.0041eed0
add esp, 4
push 0xc
push str._is_complete
mov ecx, eax
mov byte [ebp - 4], 0x19
call fcn.00404c10
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x24], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x14], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push ecx
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x1a
push eax
push 0x3df
mov ecx, edi
call fcn.00408930
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b9da
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b9d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbcb
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x40ba14
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ba0a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbcb
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x40ba54
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ba4a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbd0
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov edx, dword [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
cmp edx, 8
jb 0x40baab
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40baa1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbd0
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov edx, dword [ebp - 0x74]
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
cmp edx, 8
jb 0x40bafc
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40baf2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbd0
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov edx, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
cmp edx, 8
jb 0x40bb4d
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40bb43
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bbd0
push edx
push ecx
call fcn.0044cee7
add esp, 8
mov ecx, dword [ebp + 0x38]
test ecx, ecx
je 0x40bb6c
mov edx, dword [ecx]
lea eax, [ebp + 0x14]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp + 0x38], 0
mov ecx, dword [ebp + 0x60]
test ecx, ecx
je 0x40bb84
mov esi, dword [ecx]
lea eax, [ebp + 0x3c]
cmp ecx, eax
setne dl
movzx edx, dl
push edx
call dword [esi + 0x10]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x5c
call fcn.0046811a
call fcn.0046811a
call fcn.0046811a
call fcn.0046811a
call fcn.0046811a
call fcn.0046811a
call fcn.00437a37
call fcn.0046811a
call fcn.0046811a
call fcn.0046811a
call fcn.0046811a
call fcn.0046811a
int3