Function at 0x4a0d50
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5beae6
mov eax, dword fs:[0]
push eax
mov eax, 0x46b0
call fcn.0059a600
mov eax, dword [0x6319d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x7b0]
call fcn.00408110
push 0x5dc
lea eax, [ebp - 0x26f8]
xor ebx, ebx
push 0x4b
push eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x26fc], ebx
call fcn.00599fb0
mov ecx, 0x5dc
xor eax, eax
lea edi, [ebp - 0x211c]
add esp, 0xc
rep stosd dword es:[edi], eax
mov byte [ebp - 4], 1
call fcn.004a8620
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4a0dde
push 0x80004005
call fcn.00401b60
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x467c], eax
mov byte [ebp - 4], 2
call fcn.004a8620
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4a0e0e
push 0x80004005
call fcn.00401b60
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4688], eax
mov byte [ebp - 4], 3
call fcn.004a8620
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4a0e3e
push 0x80004005
call fcn.00401b60
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4690], eax
mov byte [ebp - 4], 4
call fcn.004a8620
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4a0e6e
push 0x80004005
call fcn.00401b60
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4684], eax
mov byte [ebp - 4], 5
call fcn.004a8620
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4a0e9e
push 0x80004005
call fcn.00401b60
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4680], eax
push 0x104
lea ecx, [ebp - 0x218]
push ecx
push ebx
mov byte [ebp - 4], 6
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov esi, dword [esi + 4]
cmp esi, ebx
je 0x4a193f
mov eax, esi
mov esi, dword [esi]
add eax, 8
push eax
lea ecx, [ebp - 0x7b0]
mov dword [ebp - 0x46bc], esi
call fcn.0040bbe0
mov eax, dword [ebp - 0x738]
cmp eax, 2
je 0x4a0eff
cmp eax, 4
jne 0x4a1937
mov dword [ebp - 0x4678], ebx
mov dword [ebp - 0x4670], ebx
mov dword [ebp - 0x466c], ebx
mov dword [ebp - 0x4664], ebx
push 0x5dc
lea edx, [ebp - 0x4550]
push 0x4b
push edx
mov dword [ebp - 0x4554], ebx
call fcn.00599fb0
mov ecx, 0x5dc
xor eax, eax
lea edi, [ebp - 0x3f74]
add esp, 0xc
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x7a4]
mov esi, dword [ecx - 0xc]
mov byte [ebp - 4], 9
cmp esi, ebx
jl 0x4a1a35
mov eax, dword [ecx - 8]
mov edx, 1
sub edx, dword [ecx - 4]
sub eax, esi
or eax, edx
jge 0x4a0f7a
push esi
lea ecx, [ebp - 0x7a4]
call fcn.00402280
mov ecx, dword [ebp - 0x7a4]
push ecx
lea ecx, [ebp - 0x4678]
call fcn.0043ce60
mov ecx, dword [ebp - 0x7a0]
push ebx
push ebx
lea eax, [ebp - 0x26fc]
push eax
push str.HKLM
push ecx
lea ecx, [ebp - 0x4678]
mov byte [ebp - 4], 0xa
call fcn.0043b8e0
mov edx, dword [ebp - 0x26fc]
cmp edx, ebx
je 0x4a1920
lea eax, [ebp - 0x26f8]
mov dword [ebp - 0x4694], eax
jmp 0x4a0fd6
mov edx, dword [ebp - 0x26fc]
mov eax, dword [ebp - 0x4694]
xor ebx, ebx
cmp eax, ebx
je 0x4a1021
lea ecx, [ebp - 0x26f8]
sub eax, ecx
inc eax
lea ecx, [eax - 1]
cmp ecx, 0x5db
ja 0x4a1021
cmp eax, edx
jae 0x4a1009
lea eax, [ebp + eax - 0x26f8]
mov dword [ebp - 0x4694], eax
jmp 0x4a100f
mov dword [ebp - 0x4694], ebx
cmp ecx, edx
jae 0x4a1027
cmp ecx, 0xffffffff
je 0x4a1027
mov edi, dword [ebp + ecx*4 - 0x211c]
jmp 0x4a1029
mov dword [ebp - 0x4694], ebx
xor edi, edi
mov ecx, dword [edi + 0xc]
push ecx
mov dword [ebp - 0x468c], edi
call fcn.0059b19a
push eax
call fcn.0059b13d
mov esi, dword [edi + 0xc]
add esp, 8
mov edx, eax
mov cl, byte [edx]
mov byte [esi], cl
inc edx
inc esi
test cl, cl
jne 0x4a1046
push eax
call fcn.0059a02a
mov edi, dword [edi + 0xc]
push str.SOFTWAREMICROSOFTWINDOWSCURRENTVERSIONUNINSTALL
push edi
call fcn.0059ade0
add esp, 0xc
cmp eax, ebx
je 0x4a1913
mov edx, dword [ebp - 0x468c]
sub eax, dword [edx + 0xc]
cmp eax, 0xffffffff
je 0x4a1913
mov eax, edx
mov ecx, dword [eax + 0x18]
push str.UninstallString
push ecx
call fcn.00599e8d
add esp, 8
test eax, eax
jne 0x4a1913
mov edi, dword [ebp - 0x468c]
mov edx, dword [edi + 0x30]
test edx, edx
je 0x4a10b9
mov eax, edx
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a10b0
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x467c]
call fcn.004026b0
mov ecx, dword [edi + 0x30]
test ecx, ecx
jne 0x4a10d1
xor eax, eax
jmp 0x4a10df
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4a10d6
sub eax, esi
push eax
push ecx
lea ecx, [ebp - 0x4684]
call fcn.004026b0
mov esi, dword [ebp - 0x4684]
mov edi, dword [esi - 0xc]
test edi, edi
js 0x4a1a35
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x4a1120
push edi
lea ecx, [ebp - 0x4684]
call fcn.00402280
mov esi, dword [ebp - 0x4684]
lea edx, [edi + 1]
push edx
push esi
call fcn.0059a1fe
add esp, 8
cmp eax, 0x50
ja case.0x4a172d.0
movzx eax, byte [eax + 0x4a1a60]
jmp dword [eax*4 + 0x4a1a50]
cmp edi, dword [esi - 8]
jg 0x4a1a35
mov dword [esi - 0xc], edi
mov byte [edi + esi], bl
cmp dword [esi - 0xc], ebx
jl 0x4a12d7
push 0x5cedcc
push esi
call fcn.0059a963
add esp, 8
test eax, eax
je 0x4a12d7
sub eax, esi
cmp eax, 0xffffffff
je 0x4a12d7
push eax
lea ecx, [ebp - 0x46b8]
push ecx
lea ecx, [ebp - 0x467c]
call fcn.004024f0
mov ecx, dword [eax]
mov edi, dword [ebp - 0x467c]
lea eax, [ecx - 0x10]
lea esi, [edi - 0x10]
mov byte [ebp - 4], 0xb
cmp eax, esi
je 0x4a11f7
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x4a11e1
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4a11e1
push eax
call fcn.004022e0
mov edi, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x4a11d6
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add edi, 0x10
mov dword [ebp - 0x467c], edi
jmp 0x4a11f7
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x467c]
call fcn.004026b0
mov edi, dword [ebp - 0x467c]
mov eax, dword [ebp - 0x46b8]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a121d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x5c
push edi
call fcn.0059aa24
add esp, 8
test eax, eax
je 0x4a12dd
sub eax, edi
cmp eax, 0xffffffff
je 0x4a12dd
push eax
lea ecx, [ebp - 0x46a4]
push ecx
lea ecx, [ebp - 0x467c]
call fcn.004024f0
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
lea esi, [edi - 0x10]
mov byte [ebp - 4], 0xc
cmp eax, esi
je 0x4a12af
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x4a1299
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4a1299
push eax
call fcn.004022e0
mov edi, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x4a128e
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add edi, 0x10
mov dword [ebp - 0x467c], edi
jmp 0x4a12af
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x467c]
call fcn.004026b0
mov edi, dword [ebp - 0x467c]
mov eax, dword [ebp - 0x46a4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a12dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4a12dd
mov edi, dword [ebp - 0x467c]
push str.UIUWA.exe
lea ecx, [ebp - 0x467c]
push ecx
lea edx, [ebp - 0x46b0]
push edx
call fcn.004029d0
add esp, 0xc
mov eax, dword [eax]
lea esi, [eax - 0x10]
lea ebx, [edi - 0x10]
mov byte [ebp - 4], 0xd
cmp esi, ebx
je 0x4a13a1
cmp dword [ebx + 0xc], 0
jl 0x4a1391
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x4a1391
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x4a1339
cmp eax, dword [esi]
jne 0x4a1339
mov edi, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x4a136d
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x4a1a49
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.0059aa3b
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x4a1386
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [ebp - 0x467c], edi
jmp 0x4a13a1
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x467c]
call fcn.004026b0
mov eax, dword [ebp - 0x46b0]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a13c7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x467c]
call fcn.00408a80
lea ecx, [ebp - 0x467c]
call fcn.00408a00
mov ecx, dword [ebp - 0x467c]
push 0
push ecx
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ebx, dword [ebp - 0x468c]
mov ecx, dword [ebx + 0x30]
test ecx, ecx
jne 0x4a1404
xor eax, eax
jmp 0x4a1419
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4a1410
sub eax, esi
push eax
push ecx
lea ecx, [ebp - 0x4688]
call fcn.004026b0
mov ecx, dword [ebx + 0x30]
test ecx, ecx
jne 0x4a1431
xor eax, eax
jmp 0x4a143f
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4a1436
sub eax, esi
push eax
push ecx
lea ecx, [ebp - 0x4684]
call fcn.004026b0
mov edi, dword [ebp - 0x4684]
mov esi, dword [edi - 0xc]
test esi, esi
js 0x4a1a35
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, esi
or eax, ecx
jge 0x4a1480
push esi
lea ecx, [ebp - 0x4684]
call fcn.00402280
mov edi, dword [ebp - 0x4684]
lea eax, [esi + 1]
push eax
push edi
call fcn.0059a1fe
add esp, 8
cmp eax, 0x50
ja case.0x4a172d.0
movzx ecx, byte [eax + 0x4a1ac4]
jmp dword [ecx*4 + 0x4a1ab4]
cmp esi, dword [edi - 8]
jg 0x4a1a35
mov dword [edi - 0xc], esi
mov byte [esi + edi], 0
cmp dword [edi - 0xc], 0
jl 0x4a14fa
push 0x5cedcc
push edi
call fcn.0059a963
add esp, 8
test eax, eax
je 0x4a14fa
sub eax, edi
cmp eax, 0xffffffff
je 0x4a14fa
add eax, 4
push eax
push 0
lea ecx, [ebp - 0x4688]
call fcn.00407710
lea ecx, [ebp - 0x4688]
call fcn.00408a80
lea ecx, [ebp - 0x4688]
call fcn.00408a00
mov edx, dword [ebx + 0x30]
test edx, edx
jne 0x4a1505
xor eax, eax
jmp 0x4a1519
mov eax, edx
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a1510
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x4680]
call fcn.004026b0
mov edi, dword [ebp - 0x4680]
mov esi, dword [edi - 0xc]
test esi, esi
js 0x4a1a35
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, esi
or eax, ecx
jge 0x4a155a
push esi
lea ecx, [ebp - 0x4680]
call fcn.00402280
mov edi, dword [ebp - 0x4680]
lea edx, [esi + 1]
push edx
push edi
call fcn.0059a1fe
add esp, 8
cmp eax, 0x50
ja case.0x4a172d.0
movzx eax, byte [eax + 0x4a1b28]
jmp dword [eax*4 + 0x4a1b18]
cmp esi, dword [edi - 8]
jg 0x4a1a35
mov dword [edi - 0xc], esi
mov byte [esi + edi], 0
cmp dword [edi - 0xc], 0
jl 0x4a1672
push 0x5cedcc
push edi
call fcn.0059a963
add esp, 8
test eax, eax
je 0x4a1672
sub eax, edi
cmp eax, 0xffffffff
je 0x4a1672
add eax, 4
push eax
lea ecx, [ebp - 0x46a8]
push ecx
lea ecx, [ebp - 0x4680]
call fcn.004024f0
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
lea esi, [edi - 0x10]
mov byte [ebp - 4], 0xe
cmp eax, esi
je 0x4a1630
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4a1620
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4a1620
push eax
call fcn.004022e0
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x4a160f
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [ebp - 0x4680], ebx
mov ebx, dword [ebp - 0x468c]
jmp 0x4a1630
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x4680]
call fcn.004026b0
mov eax, dword [ebp - 0x46a8]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a1656
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x4680]
call fcn.00408a80
lea ecx, [ebp - 0x4680]
call fcn.00408a00
mov edi, dword [ebp - 0x4680]
call fcn.004a8620
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4a0dd4
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4698], eax
push 0x104
lea ecx, [ebp - 0x114]
push ecx
push edi
lea ecx, [ebp - 0x4699]
mov byte [ebp - 4], 0xf
call fcn.0042d3d0
lea eax, [ebp - 0x114]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a16c0
sub eax, edx
push eax
lea edx, [ebp - 0x114]
push edx
lea ecx, [ebp - 0x4698]
call fcn.004026b0
mov edi, dword [ebp - 0x4698]
mov esi, dword [edi - 0xc]
test esi, esi
js 0x4a1a35
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, esi
or eax, ecx
jge 0x4a1710
push esi
lea ecx, [ebp - 0x4698]
call fcn.00402280
mov edi, dword [ebp - 0x4698]
lea eax, [esi + 1]
push eax
push edi
call fcn.0059a1fe
add esp, 8
cmp eax, 0x50
ja case.0x4a172d.0
movzx ecx, byte [eax + 0x4a1b8c]
jmp dword [ecx*4 + 0x4a1b7c]
cmp esi, dword [edi - 8]
jg 0x4a1a35
mov dword [edi - 0xc], esi
mov byte [esi + edi], 0
cmp dword [edi - 0xc], 0
jl 0x4a1763
push str.GUIU
push edi
call fcn.0059a963
add esp, 8
test eax, eax
je 0x4a1763
sub eax, edi
cmp eax, 0xffffffff
jne 0x4a1775
push 3
push 0x5d3cac
lea ecx, [ebp - 0x4688]
call fcn.004078c0
push 0x5ce514
lea edx, [ebp - 0x467c]
push edx
lea eax, [ebp - 0x46b4]
push eax
call fcn.004029d0
lea ecx, [ebp - 0x4688]
push ecx
push eax
lea edx, [ebp - 0x46ac]
push edx
mov byte [ebp - 4], 0x10
call fcn.00402910
add esp, 0x18
mov eax, dword [eax]
mov edx, dword [ebp - 0x4690]
add edx, 0xfffffff0
lea esi, [eax - 0x10]
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x46a0], edx
cmp esi, edx
je 0x4a1877
cmp dword [edx + 0xc], 0
jl 0x4a1867
mov ecx, dword [esi]
cmp ecx, dword [edx]
jne 0x4a1867
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x4a17fd
cmp eax, dword [esi]
jne 0x4a17fd
mov ebx, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x4a1831
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x4a1a49
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.0059aa3b
add esp, 0x10
mov eax, dword [ebp - 0x46a0]
add eax, 0xc
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x4a1856
mov eax, dword [ebp - 0x46a0]
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add ebx, 0x10
mov dword [ebp - 0x4690], ebx
mov ebx, dword [ebp - 0x468c]
jmp 0x4a1877
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x4690]
call fcn.004026b0
mov eax, dword [ebp - 0x46ac]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a189d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x46b4]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xf
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a18c3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x9ac]
call fcn.0047aa50
mov esi, dword [ebp - 0x4690]
mov eax, dword [esi - 0xc]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0xc]
push eax
push esi
push ecx
push edx
lea ecx, [ebp - 0x9ac]
call fcn.0047b0f0
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a1913
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x4694], 0
jne 0x4a0fd0
lea ecx, [ebp - 0x4678]
mov byte [ebp - 4], 6
call fcn.004339c0
mov esi, dword [ebp - 0x46bc]
xor ebx, ebx
cmp esi, ebx
jne 0x4a0ed2
mov eax, dword [ebp - 0x4680]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a1965
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4684]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a198b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4690]
add eax, 0xfffffff0
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a19b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4688]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a19d7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x467c]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a19fd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x26fc]
mov byte [ebp - 4], 0
call fcn.004065e0
lea ecx, [ebp - 0x7b0]
call fcn.004082d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00599ed4
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.00401b60
call fcn.004a6ea5
call fcn.004a6edd
call fcn.00401f40
mov edi, edi
inc esp
adc dword [edx], ecx
aas
sbb cl, byte [edx]
inc esp
sbb cl, byte [edx]
inc esp
sbb cl, byte [edx]
add byte [ebx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add dword [ebx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add byte [ebp + 346292297], cl
dec edx
add byte [edi], bh
sbb cl, byte [edx]
inc esp
sbb cl, byte [edx]
inc esp
sbb cl, byte [edx]
add byte [ebx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add dword [ebx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add byte [ebp + 360579145], cl
dec edx
add byte [edi], bh
sbb cl, byte [edx]
inc esp
sbb cl, byte [edx]
inc esp
sbb cl, byte [edx]
add byte [ebx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add dword [ebx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add byte [ebp + 389283913], cl
dec edx
add byte [edi], bh
sbb cl, byte [edx]
inc esp
sbb cl, byte [edx]
inc esp
sbb cl, byte [edx]
add byte [ebx], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add dword [ebx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add ah, cl
int3