Function at 0x40a9c0
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x470e57
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 - 0xa8], edi
mov dword [ebp - 4], 1
cmp byte [edi + 0x2d0], 0
jne 0x40aaf9
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x40aaf9
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x9c]
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.0041cd20
add esp, 4
push 5
push 0x4863ec
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.00404b90
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x6c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x5c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push ecx
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 3
push eax
push 0x3e7
mov ecx, edi
call fcn.00408820
mov edx, dword [ebp - 0x58]
cmp edx, 8
jb 0x40aaad
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40aaa3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b697
push edx
push ecx
call fcn.00448b15
add esp, 8
mov edx, dword [ebp - 0x88]
cmp edx, 8
jb 0x40aaed
mov ecx, dword [ebp - 0x9c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40aae3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b697
push edx
push ecx
call fcn.00448b15
add esp, 8
mov dword [ebp + 0xc], 0
jmp 0x40b64b
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x9c]
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 - 0xac], esi
call fcn.0041cd20
add esp, 4
push 4
push str._is
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.00404b90
mov dword [ebp - 0x2c], 0
xor ecx, ecx
mov dword [ebp - 0x28], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x3c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2c], 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 - 0xa4], eax
cmp byte [eax], 0
cmove edx, ecx
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0xa0], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40aba0
sub ecx, dword [ebp - 0xa0]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x3c]
call fcn.00404b90
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x6c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x5c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push ecx
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 6
push eax
push 0x3e7
mov ecx, edi
call fcn.00408820
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x58]
cmp edx, 8
jb 0x40ac34
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ac2a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b69c
push edx
push ecx
call fcn.00448b15
add esp, 8
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x28]
cmp edx, 8
jb 0x40ac72
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ac68
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b69c
push edx
push ecx
call fcn.00448b15
add esp, 8
xor eax, eax
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
cmp edx, 8
jb 0x40acca
mov ecx, dword [ebp - 0x9c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40acc0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b69c
push edx
push ecx
call fcn.00448b15
add esp, 8
mov eax, dword [ebp - 0xa4]
cmp byte [eax], 0
je 0x40b64b
push esi
mov edx, str.Information_2003___Starting
lea ecx, [ebp - 0x54]
call fcn.0041cd20
add esp, 4
push 0x18
push str._data_synchronisation...
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.00404b90
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.0040b710
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40ad75
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ad6b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6a1
push edx
push ecx
call fcn.00448b15
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40adb3
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ada9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6a1
push edx
push ecx
call fcn.00448b15
add esp, 8
cmp byte [ebp + 0x10], 0
jne 0x40aea8
cmp byte [edi + 0x3d4], 0
jne 0x40aea8
push esi
mov edx, str.Information_2010___The
lea ecx, [ebp - 0x54]
call fcn.0041cd20
add esp, 4
push 0x17
push str._is_the_latest_version.
mov ecx, eax
mov byte [ebp - 4], 0x11
call fcn.00404b90
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.0040b710
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40ae67
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ae5d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6a6
push edx
push ecx
call fcn.00448b15
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40b194
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b18a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6a6
jmp 0x40b18a
mov eax, dword [ebp + 8]
lea eax, [eax + eax*2]
lea ecx, [edi + eax*8]
lea eax, [edi + 0x328]
push eax
lea eax, [ecx + 0xf0]
push eax
lea eax, [ecx + 0x180]
mov ecx, edi
push eax
call fcn.0040c260
sub eax, 0
je 0x40b1a0
sub eax, 1
je 0x40b0b9
sub eax, 1
je 0x40af68
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.00404a00
push 0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x10
push eax
push 0x3e7
mov ecx, edi
call fcn.00408820
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b290
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40af59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6ce
push edx
push ecx
call fcn.00448b15
add esp, 8
jmp 0x40b290
push esi
mov edx, str.Information_2009___Completed
lea ecx, [ebp - 0x54]
call fcn.0041cd20
add esp, 4
push 0x16
push str._data_synchronisation.
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.00404b90
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.0040b710
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b005
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40affb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6ab
push edx
push ecx
call fcn.00448b15
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40b043
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b039
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6ab
push edx
push ecx
call fcn.00448b15
add esp, 8
mov ecx, dword [ebp + 0x60]
test ecx, ecx
je 0x40b6b5
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 0x40b6b5
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 0x40b0ad
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b0a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6b0
push edx
push ecx
call fcn.00448b15
add esp, 8
mov dword [ebp + 0xc], 2
jmp 0x40b297
push esi
mov edx, str.Information_2009___Completed
lea ecx, [ebp - 0x54]
call fcn.0041cd20
add esp, 4
push 0x27
push str._data_synchronisation__no_changes_made.
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.00404b90
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.0040b710
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b156
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b14c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6ba
push edx
push ecx
call fcn.00448b15
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40b194
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b18a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6ba
push edx
push ecx
call fcn.00448b15
add esp, 8
mov dword [ebp + 0xc], 1
jmp 0x40b297
push esi
mov edx, str.Error_2004___Unable_to_download_the_synchronisation_file_for_the
lea ecx, [ebp - 0x54]
call fcn.0041cd20
add esp, 4
push 6
push str._feed.
mov ecx, eax
mov byte [ebp - 4], 9
call fcn.00404b90
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.0040b710
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b23c
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b232
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6bf
push edx
push ecx
call fcn.00448b15
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40b27a
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b270
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6bf
push edx
push ecx
call fcn.00448b15
add esp, 8
mov eax, dword [edi + 0x3b4]
mov ecx, 2
cmp eax, ecx
cmovl eax, ecx
mov dword [edi + 0x3b4], eax
mov dword [ebp + 0xc], 0
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x3c]
lea eax, [eax + eax*2]
lea eax, [eax + 0x1e]
lea esi, [edi + eax*8]
push esi
call fcn.00404940
push esi
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x13
call fcn.00404940
push str.never_send_
lea esi, [edi + 0x344]
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x6c]
push esi
push eax
call fcn.0041d080
add esp, 0xc
push esi
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x15
call fcn.00404940
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0042f0e0
add esp, 0xc
cmp byte [edi + 0x2d0], 0
je 0x40b43d
cmp dword [ebp - 0x28], 8
lea ecx, [ebp - 0x3c]
lea eax, [ebp - 0x84]
cmovae ecx, dword [ebp - 0x3c]
cmp dword [ebp - 0x70], 8
push ecx
cmovae eax, dword [ebp - 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push 1
push 3
lea ecx, [ebp - 0x15c]
mov edi, eax
call fcn.00418380
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.0041cde0
mov edx, esi
mov ecx, eax
call fcn.0041cde0
mov edx, str._synch_file_from_
mov ecx, eax
call fcn.0041cde0
cmp dword [ebp - 0x70], 8
lea ecx, [ebp - 0x84]
push dword [ebp - 0x74]
cmovae ecx, dword [ebp - 0x84]
push ecx
push eax
call fcn.0041ec30
mov edx, 0x48678c
mov ecx, eax
call fcn.0041cde0
cmp dword [ebp - 0x28], 8
lea ecx, [ebp - 0x3c]
push dword [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x3c]
push ecx
push eax
call fcn.0041ec30
add esp, 0x18
mov edx, 0x486788
mov ecx, eax
call fcn.0041cde0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x15c]
call fcn.004182d0
mov edi, dword [ebp - 0xa8]
mov ecx, edi
push 0
push eax
push 0x3e7
mov byte [ebp - 4], 0x18
call fcn.00408820
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40b42e
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b424
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6c4
push edx
push ecx
call fcn.00448b15
add esp, 8
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x16
call fcn.00409ee0
push dword [ebp - 0xac]
mov edx, str.Information___Feed
lea ecx, [ebp - 0x54]
call fcn.0041cd20
add esp, 4
push 0xc
push str._is_complete
mov ecx, eax
mov byte [ebp - 4], 0x19
call fcn.00404b90
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 0x3e7
mov ecx, edi
call fcn.00408820
mov edx, dword [ebp - 0x10]
cmp edx, 8
jb 0x40b4d8
mov ecx, dword [ebp - 0x24]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b4ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6c9
push edx
push ecx
call fcn.00448b15
add esp, 8
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x40b512
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b508
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6c9
push edx
push ecx
call fcn.00448b15
add esp, 8
mov edx, dword [ebp - 0x88]
cmp edx, 8
jb 0x40b552
mov ecx, dword [ebp - 0x9c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b548
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6ce
push edx
push ecx
call fcn.00448b15
add esp, 8
mov edx, dword [ebp - 0x58]
xor eax, eax
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 7
mov word [ebp - 0x9c], ax
cmp edx, 8
jb 0x40b5a9
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b59f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6ce
push edx
push ecx
call fcn.00448b15
add esp, 8
mov edx, dword [ebp - 0x70]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
cmp edx, 8
jb 0x40b5fa
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b5f0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6ce
push edx
push ecx
call fcn.00448b15
add esp, 8
mov edx, dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
cmp edx, 8
jb 0x40b64b
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40b641
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6ce
push edx
push ecx
call fcn.00448b15
add esp, 8
mov ecx, dword [ebp + 0x38]
test ecx, ecx
je 0x40b66a
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 0x40b682
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.0044e13a
call fcn.0044e13a
call fcn.0044e13a
call fcn.0044e13a
call fcn.0044e13a
call fcn.0044e13a
call fcn.00434127
call fcn.0044e13a
call fcn.0044e13a
call fcn.0044e13a
call fcn.0044e13a
call fcn.0044e13a
int3