Function at 0x460a50
Capabilities:
Check if file exists
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f52cc
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
mov eax, dword [0x54b1b4]
xor eax, esp
mov dword [esp + 0xc8], eax
push ebx
push esi
push edi
mov eax, dword [0x54b1b4]
xor eax, esp
push eax
lea eax, [esp + 0xe0]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
call fcn.00460190
call fcn.00460300
xor edi, edi
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, 7
xor ecx, ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edi
mov word [esp + 0x68], cx
mov dword [esp + 0xe8], edi
xor edx, edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], edi
mov word [esp + 0x4c], dx
and dword [esp + 0x24], 0xfffffe00
mov dword [esp + 0x18], 1
mov dword [esp + 0x28], edi
cmp dword [ebx + 0x108], edi
mov ecx, dword [esp + 0x34]
setne al
and ecx, 0xffffff05
or ecx, 5
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edi
mov byte [esp + 0x2c], al
push edi
lea edx, [esp + 0x20]
push edx
mov ecx, str.quiet
mov byte [esp + 0xf0], 4
call fcn.0041b320
mov esi, eax
lea eax, [esp + 0x2c]
call fcn.0041a030
lea eax, [esp + 0x2c]
mov byte [esp + 0xe8], 3
call fcn.00419f90
lea ecx, [esp + 0x1c]
call fcn.00412ec0
mov eax, dword [esp + 0x34]
and eax, 0xffffff05
or eax, 5
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edi
mov byte [esp + 0x2c], 1
push edi
lea ecx, [esp + 0x20]
push ecx
mov ecx, str.userquit
mov byte [esp + 0xf0], 5
call fcn.0041b320
mov esi, eax
lea eax, [esp + 0x2c]
call fcn.0041a030
lea eax, [esp + 0x2c]
mov byte [esp + 0xe8], 3
call fcn.00419f90
test byte [0x54f12c], 1
jne 0x460bc2
or dword [0x54f12c], 1
mov byte [esp + 0xe8], 6
call fcn.00440710
push 0x4f6010
call fcn.004bc45e
add esp, 4
mov byte [esp + 0xe8], 3
push 0x54f130
call fcn.004417a0
test al, al
jne 0x460cbe
cmp dword [0x54eec0], edi
je 0x460c70
lea ecx, [esp + 0x1c]
call fcn.00413040
mov eax, dword [0x54eee0]
cmp eax, edi
je 0x460c20
cmp dword [eax + 8], 4
mov ebx, eax
jl 0x460c20
push 0x51ab6c
push 4
push ecx
mov edx, esp
mov dword [esp + 0x24], esp
push edx
mov ecx, str._u7b_N
mov esi, 0x1b7
call fcn.0042ef60
push ebx
mov ecx, esi
call fcn.0042cbc0
lea eax, [esp + 0x1c]
mov byte [esp + 0xe8], 1
call fcn.00419f90
mov esi, 8
cmp dword [esp + 0x60], esi
jb 0x460c49
mov eax, dword [esp + 0x4c]
push eax
call fcn.004ba3a4
add esp, 4
xor ecx, ecx
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], edi
mov word [esp + 0x4c], cx
cmp dword [esp + 0x7c], esi
jb 0x4617f9
mov edx, dword [esp + 0x68]
push edx
jmp 0x4617f1
mov eax, dword [0x54eee0]
cmp eax, edi
je 0x460ca7
cmp dword [eax + 8], 2
mov edi, eax
jl 0x460ca7
push 0x51ab6c
push 2
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push eax
mov ecx, 0x51b02c
mov esi, 0x1ba
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
push 0xa
push 0x51b02c
lea ecx, [esp + 0x70]
call fcn.00408440
xor edi, edi
jmp 0x461520
lea edi, [esp + 0x84]
call fcn.0040ec30
lea esi, [ebx + 0xc4]
mov edi, eax
mov byte [esp + 0xe8], 7
call fcn.00407640
mov byte [esp + 0xe8], 3
cmp dword [esp + 0x98], 8
jb 0x460d01
mov ecx, dword [esp + 0x84]
push ecx
call fcn.004ba3a4
add esp, 4
lea eax, [ebx + 0xc4]
mov esi, 8
cmp dword [eax + 0x14], esi
jb 0x460d13
mov eax, dword [eax]
push eax
xor edi, edi
push edi
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x6c]
push eax
push ebx
call fcn.00461830
cmp dword [0x54eec0], edi
je 0x460dc7
lea ecx, [esp + 0x1c]
call fcn.00413040
mov eax, dword [0x54eee0]
cmp eax, edi
je 0x460d7c
cmp dword [eax + 8], 4
mov ebx, eax
jl 0x460d7c
push 0x51ab6c
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push ecx
mov ecx, str._u7b_N
mov esi, 0x1c8
call fcn.0042ef60
push ebx
mov ecx, esi
call fcn.0042cbc0
lea esi, [edi + 8]
lea eax, [esp + 0x1c]
mov byte [esp + 0xe8], 1
call fcn.00419f90
cmp dword [esp + 0x60], esi
jb 0x460da0
mov edx, dword [esp + 0x4c]
push edx
call fcn.004ba3a4
add esp, 4
xor eax, eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], edi
mov word [esp + 0x4c], ax
cmp dword [esp + 0x7c], esi
jb 0x4617f9
mov ecx, dword [esp + 0x68]
push ecx
jmp 0x4617f1
test al, al
jne 0x460e04
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x7c], esi
jae 0x460dd9
lea eax, [esp + 0x68]
push eax
push 0x51b044
push 0x51ab6c
mov edx, 0x1cd
mov esi, 2
mov eax, 0x54eee0
call fcn.0042bb60
add esp, 0xc
mov dword [esp + 0x18], edi
jmp 0x4614fe
mov eax, dword [ebx + 0x98]
cmp eax, edi
je 0x460e2a
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [ebx + 0x98]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x98], edi
cmp dword [ebx + 0x8c], esi
lea edi, [ebx + 0x78]
jb 0x460e39
mov eax, dword [edi]
jmp 0x460e3b
mov eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x460e93
push 3
push 0x51acfc
lea ecx, [esp + 0x54]
call fcn.00408440
push 0xa
push 0x51ad04
lea ecx, [esp + 0x70]
call fcn.00408440
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x60], esi
jae 0x460e74
lea ecx, [esp + 0x4c]
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x7c], esi
jae 0x460e82
lea eax, [esp + 0x68]
push ecx
push eax
push 0x51b060
mov edx, 0x1df
jmp 0x460f37
xor eax, eax
lea esi, [esp + 0xa0]
mov edx, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], eax
call fcn.0045e660
push 0x54eec0
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov byte [esp + 0xf4], 8
call fcn.00402910
add esp, 0xc
test al, al
mov ecx, esi
sete byte [esp + 0x17]
mov byte [esp + 0xe8], 3
call fcn.004077e0
cmp byte [esp + 0x17], 0
je 0x460f56
mov esi, 8
cmp dword [edi + 0x14], esi
jb 0x460ef9
mov edi, dword [edi]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [esp + 0x4c]
push eax
mov edx, 0x51ad64
call fcn.00408590
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x60], esi
jae 0x460f1d
lea ecx, [esp + 0x4c]
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x7c], esi
jae 0x460f2b
lea eax, [esp + 0x68]
push ecx
push eax
push 0x51b0a8
mov edx, 0x1ec
push 0x51ab6c
mov esi, 2
mov eax, 0x54eee0
call fcn.0042bb60
mov dword [esp + 0x28], 0
add esp, 0x10
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x460f80
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebx + 0x94]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x94], 0
lea edi, [ebx + 0x5c]
mov esi, 8
cmp dword [edi + 0x14], esi
jb 0x460f91
mov eax, dword [edi]
jmp 0x460f93
mov eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x460feb
push 3
push 0x51acfc
lea ecx, [esp + 0x54]
call fcn.00408440
push 7
push 0x51adb4
lea ecx, [esp + 0x70]
call fcn.00408440
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x60], esi
jae 0x460fcc
lea ecx, [esp + 0x4c]
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x7c], esi
jae 0x460fda
lea eax, [esp + 0x68]
push ecx
push eax
push 0x51adc4
mov edx, 0x202
jmp 0x46108f
xor eax, eax
lea esi, [esp + 0xa0]
mov edx, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], eax
call fcn.0045e660
push 0x54eec0
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
mov byte [esp + 0xf4], 9
call fcn.00402910
add esp, 0xc
test al, al
mov ecx, esi
sete byte [esp + 0x17]
mov byte [esp + 0xe8], 3
call fcn.004077e0
cmp byte [esp + 0x17], 0
je 0x4610ae
mov esi, 8
cmp dword [edi + 0x14], esi
jb 0x461051
mov edi, dword [edi]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea edx, [esp + 0x4c]
push edx
mov edx, 0x51ad64
call fcn.00408590
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x60], esi
jae 0x461075
lea ecx, [esp + 0x4c]
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x7c], esi
jae 0x461083
lea eax, [esp + 0x68]
push ecx
push eax
push 0x51ae00
mov edx, 0x20f
push 0x51ab6c
mov esi, 2
mov eax, 0x54eee0
call fcn.0042bb60
mov dword [esp + 0x28], 0
add esp, 0x10
lea esi, [esp + 0xa0]
mov edx, ebx
call fcn.0045e660
push eax
mov eax, str.dataconfig.ini
lea ecx, [esp + 0x88]
mov byte [esp + 0xec], 0xa
call fcn.00406d60
add esp, 4
mov esi, eax
lea eax, [esp + 0x2c]
push eax
mov ecx, 0x54c674
mov byte [esp + 0xec], 0xb
call fcn.00467250
mov edi, 8
add esp, 4
cmp dword [esi + 0x14], edi
jb 0x461101
mov esi, dword [esi]
cmp dword [eax + 0x14], edi
jb 0x461108
mov eax, dword [eax]
push esi
push eax
push str.channel
push 0x510614
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp dword [esp + 0x40], edi
jb 0x46112d
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004ba3a4
add esp, 4
xor esi, esi
xor edx, edx
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], esi
mov word [esp + 0x2c], dx
cmp dword [esp + 0x98], edi
jb 0x46115b
mov eax, dword [esp + 0x84]
push eax
call fcn.004ba3a4
add esp, 4
xor ecx, ecx
mov byte [esp + 0xe8], 3
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], esi
mov word [esp + 0x84], cx
cmp dword [esp + 0xb4], edi
jb 0x461198
mov edx, dword [esp + 0xa0]
push edx
call fcn.004ba3a4
add esp, 4
lea esi, [esp + 0xa0]
mov edx, ebx
call fcn.0045e660
push eax
mov eax, str.dataconfig.ini
lea ecx, [esp + 0x88]
mov byte [esp + 0xec], 0xc
call fcn.00406d60
add esp, 4
cmp dword [eax + 0x14], edi
jb 0x4611ca
mov eax, dword [eax]
push eax
push str.MediaTaskMgr.dll
push str.MediaTaskMgrModule
push 0x510614
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp dword [esp + 0x98], edi
jb 0x4611f9
mov eax, dword [esp + 0x84]
push eax
call fcn.004ba3a4
add esp, 4
xor ecx, ecx
mov byte [esp + 0xe8], 3
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], cx
cmp dword [esp + 0xb4], edi
jb 0x46123a
mov edx, dword [esp + 0xa0]
push edx
call fcn.004ba3a4
add esp, 4
call fcn.0040f6f0
lea esi, [esp + 0x84]
mov edx, ebx
test al, al
je 0x4612fe
call fcn.0045e660
push eax
mov eax, str.WEMedia_xp.exe
lea ecx, [esp + 0xa4]
mov byte [esp + 0xec], 0xd
call fcn.00406d60
add esp, 4
cmp dword [eax + 0x14], edi
jb 0x461279
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [esp + 0xa0]
call fcn.004077e0
lea ecx, [esp + 0x84]
mov byte [esp + 0xe8], 3
call fcn.004077e0
lea esi, [esp + 0x84]
mov edx, ebx
call fcn.0045e660
push eax
mov eax, str.WEMediaPlatform_xp.exe
lea ecx, [esp + 0xa4]
mov byte [esp + 0xec], 0xe
call fcn.00406d60
add esp, 4
cmp dword [eax + 0x14], edi
jb 0x4612d2
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [esp + 0xa0]
call fcn.004077e0
lea ecx, [esp + 0x84]
mov byte [esp + 0xe8], 3
call fcn.004077e0
jmp 0x461503
call fcn.0045e660
push eax
mov eax, str.WEMedia.exe
lea ecx, [esp + 0xa4]
mov byte [esp + 0xec], 0xf
call fcn.00406d60
add esp, 4
cmp dword [eax + 0x14], edi
jb 0x461327
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [esp + 0xa0]
call fcn.004077e0
lea ecx, [esp + 0x84]
mov byte [esp + 0xe8], 3
call fcn.004077e0
lea esi, [esp + 0x84]
mov edx, ebx
call fcn.0045e660
push eax
mov eax, str.WEMediaPlatform.exe
lea ecx, [esp + 0xa4]
mov byte [esp + 0xec], 0x10
call fcn.00406d60
add esp, 4
cmp dword [eax + 0x14], edi
jb 0x461380
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [esp + 0xa0]
call fcn.004077e0
lea ecx, [esp + 0x84]
mov byte [esp + 0xe8], 3
call fcn.004077e0
lea esi, [esp + 0xbc]
mov edx, ebx
call fcn.0045e660
push eax
mov eax, str.WEMedia.exe
lea ecx, [esp + 0x30]
mov byte [esp + 0xec], 0x11
call fcn.00406d60
add esp, 4
mov edi, eax
lea esi, [esp + 0x84]
mov edx, ebx
mov byte [esp + 0xe8], 0x12
call fcn.0045e660
push eax
mov eax, str.WEMedia_xp.exe
lea ecx, [esp + 0xa4]
mov byte [esp + 0xec], 0x13
call fcn.00406d60
mov ecx, 8
add esp, 4
cmp dword [edi + 0x14], ecx
jb 0x461410
mov edi, dword [edi]
cmp dword [eax + 0x14], ecx
jb 0x461417
mov eax, dword [eax]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
lea ecx, [esp + 0xa0]
call fcn.004077e0
lea ecx, [esp + 0x84]
call fcn.004077e0
lea ecx, [esp + 0x2c]
call fcn.004077e0
lea ecx, [esp + 0xbc]
mov byte [esp + 0xe8], 3
call fcn.004077e0
lea esi, [esp + 0x2c]
mov edx, ebx
call fcn.0045e660
push eax
mov eax, str.WEMediaPlatform.exe
lea ecx, [esp + 0x88]
mov byte [esp + 0xec], 0x14
call fcn.00406d60
add esp, 4
mov edi, eax
lea esi, [esp + 0xa0]
mov edx, ebx
mov byte [esp + 0xe8], 0x15
call fcn.0045e660
push eax
mov eax, str.WEMediaPlatform_xp.exe
lea ecx, [esp + 0xc0]
mov byte [esp + 0xec], 0x16
call fcn.00406d60
add esp, 4
cmp dword [edi + 0x14], 8
jb 0x4614b9
mov edi, dword [edi]
cmp dword [eax + 0x14], 8
jb 0x4614c1
mov eax, dword [eax]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
lea ecx, [esp + 0xbc]
call fcn.004077e0
lea ecx, [esp + 0xa0]
call fcn.004077e0
lea ecx, [esp + 0x84]
call fcn.004077e0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe8], 3
call fcn.004077e0
mov edi, 8
cmp dword [ebx + 0xd8], edi
lea eax, [ebx + 0xc4]
jb 0x461513
mov eax, dword [eax]
push eax
call fcn.00402580
mov edi, dword [esp + 0x1c]
add esp, 4
test byte [0x54f12c], 1
jne 0x461552
or dword [0x54f12c], 1
mov byte [esp + 0xe8], 0x17
call fcn.00440710
push 0x4f6010
call fcn.004bc45e
add esp, 4
mov byte [esp + 0xe8], 3
cmp dword [0x54eec0], 0
mov byte [0x54f314], 1
je 0x4615c8
lea ecx, [esp + 0x1c]
call fcn.00413040
lea eax, [esp + 0x1c]
mov byte [esp + 0xe8], 1
call fcn.00419f90
mov esi, 8
cmp dword [esp + 0x60], esi
jb 0x461594
mov eax, dword [esp + 0x4c]
push eax
call fcn.004ba3a4
add esp, 4
xor ecx, ecx
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], cx
cmp dword [esp + 0x7c], esi
jb 0x4615be
mov edx, dword [esp + 0x68]
push edx
call fcn.004ba3a4
add esp, 4
mov eax, 1
jmp 0x4617fb
push 0
push 0
push 0
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov eax, dword [esp + 0x34]
and eax, 0xffffff05
or eax, 5
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0
mov byte [esp + 0x2c], 0
push 0
lea ecx, [esp + 0x20]
push ecx
mov ecx, str.userquit
mov byte [esp + 0xf0], 0x18
call fcn.0041b320
mov esi, eax
lea eax, [esp + 0x2c]
call fcn.0041a030
lea eax, [esp + 0x2c]
mov byte [esp + 0xe8], 3
call fcn.00419f90
lea ecx, [esp + 0x1c]
cmp edi, 1
jne 0x46163b
call fcn.00412f80
jmp 0x461640
call fcn.00413040
mov eax, dword [ebx + 0x9c]
test eax, eax
je 0x461659
push edi
push 0
push 0x4ce
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
call dword [sym.imp.ole32.dll_CoUninitialize]
cmp dword [ebx + 0x108], 0
je 0x4617a6
call fcn.004477b0
lea esi, [esp + 0xa0]
mov edi, eax
call fcn.0040ea20
push eax
mov eax, str.update.ini
lea ecx, [esp + 0x30]
mov byte [esp + 0xec], 0x19
call fcn.00406d60
mov esi, 8
add esp, 4
cmp dword [esp + 0xb4], esi
jb 0x4616b7
mov edx, dword [esp + 0xa0]
push edx
call fcn.004ba3a4
add esp, 4
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x40], esi
jae 0x4616c5
lea eax, [esp + 0x2c]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push eax
push str.HasQuietUpdate
push str.UpdateStep
push str.QuietUpdate
call esi
cmp byte [edi + 0x78], 0
mov ecx, str.true
jne 0x4616ed
mov ecx, 0x51ac40
mov eax, dword [esp + 0x2c]
mov edi, 8
cmp dword [esp + 0x40], edi
jae 0x461700
lea eax, [esp + 0x2c]
push eax
push ecx
push str.Force
push str.QuietUpdate
call esi
cmp dword [esp + 0x40], edi
jb 0x46171e
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
jmp 0x461726
lea ecx, [esp + 0x2c]
mov dword [esp + 0x18], ecx
test byte [0x54f018], 1
jne 0x461748
or dword [0x54f018], 1
call fcn.00443940
push 0x4f5ff0
call fcn.004bc45e
add esp, 4
mov eax, dword [0x54ef84]
cmp dword [0x54ef98], edi
jae 0x46175a
mov eax, 0x54ef84
mov edx, dword [esp + 0x18]
push edx
push eax
push str.OldVersion
push str.QuietUpdate
call esi
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x40], edi
jae 0x46177a
lea eax, [esp + 0x2c]
add ebx, edi
cmp dword [ebx + 0x14], edi
jb 0x461783
mov ebx, dword [ebx]
push eax
push ebx
push str.CurVersion
push str.QuietUpdate
call esi
cmp dword [esp + 0x40], edi
jb 0x4617ab
mov eax, dword [esp + 0x2c]
push eax
call fcn.004ba3a4
add esp, 4
jmp 0x4617ab
mov edi, 8
lea eax, [esp + 0x1c]
mov byte [esp + 0xe8], 1
call fcn.00419f90
cmp dword [esp + 0x60], edi
jb 0x4617cf
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.004ba3a4
add esp, 4
xor edx, edx
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], dx
cmp dword [esp + 0x7c], edi
jb 0x4617f9
mov eax, dword [esp + 0x68]
push eax
call fcn.004ba3a4
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc8]
xor ecx, esp
call fcn.004ba3af
mov esp, ebp
pop ebp
ret 4