Function at 0x4fa2b0
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x544612
mov eax, dword fs:[0]
push eax
sub esp, 0x394
mov eax, dword [0x577018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x32c], edi
mov dword [ebp - 4], 0
xorps xmm0, xmm0
xor ecx, ecx
movq qword [ebp - 0x1c], xmm0
xor esi, esi
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ecx
mov byte [ebp - 4], 1
cmp dword [ebp + 0x18], esi
je 0x4fa583
cmp dword [ebp + 0x1c], 0x10
lea ecx, [ebp + 8]
mov eax, dword [ebp + 0x18]
cmovae ecx, dword [ebp + 8]
setae byte [ebp - 0x32d]
mov dword [ebp - 0x328], ecx
test eax, eax
je 0x4fa34c
push eax
push 0x40
push ecx
call fcn.005197e0
add esp, 0xc
test eax, eax
je 0x4fa34c
sub eax, dword [ebp - 0x328]
jmp 0x4fa34f
or eax, 0xffffffff
mov dword [ebp - 0x328], eax
cmp eax, 0xffffffff
je 0x4fa4a3
cmp dword [ebp + 0x18], eax
mov ecx, eax
lea eax, [ebp + 8]
mov dword [ebp - 0x44], 0
cmovb ecx, dword [ebp + 0x18]
cmp byte [ebp - 0x32d], 0
push ecx
cmovne eax, dword [ebp + 8]
lea ecx, [ebp - 0x44]
push eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00402bc0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x14]
je 0x4fa3ca
movups xmm0, xmmword [ebp - 0x44]
mov dword [eax], 0
mov ecx, 0xf
mov byte [ebp - 0x44], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x34]
movq qword [eax + 0x10], xmm0
add dword [ebp - 0x18], 0x18
jmp 0x4fa3da
lea ecx, [ebp - 0x44]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.004c5a40
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x4fa40f
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4fa405
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4fb491
push ecx
push edx
call fcn.00517162
add esp, 8
mov edx, dword [ebp - 0x328]
mov eax, dword [ebp + 0x18]
inc edx
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
cmp eax, edx
jb 0x4fb46e
sub eax, edx
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push ecx
add eax, edx
lea ecx, [ebp - 0x5c]
push eax
call fcn.00402bc0
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0x10
jb 0x4fa48c
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4fa482
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4fb491
push ecx
push edx
call fcn.00517162
add esp, 8
movups xmm0, xmmword [ebp - 0x5c]
movups xmmword [ebp + 8], xmm0
movq xmm0, qword [ebp - 0x4c]
movq qword [ebp + 0x18], xmm0
jmp 0x4fa572
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4fa580
lea eax, [ebp + 8]
cmp esi, dword [ebp - 0x14]
je 0x4fa553
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp + 0x1c], 0x10
mov ecx, dword [ebp + 0x18]
cmovae eax, dword [ebp + 8]
mov dword [ebp - 0x328], ecx
mov dword [ebp - 0x334], eax
cmp ecx, 0x10
jae 0x4fa501
movups xmm0, xmmword [eax]
mov eax, 0xf
movups xmmword [esi], xmm0
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], eax
add dword [ebp - 0x18], 0x18
jmp 0x4fa55d
mov eax, ecx
mov ecx, bind
or eax, 0xf
cmp eax, 0x7fffffff
cmova eax, ecx
mov ecx, esi
mov dword [ebp - 0x324], eax
inc eax
push eax
call fcn.00402e30
mov ecx, dword [ebp - 0x328]
inc ecx
mov dword [esi], eax
push ecx
push dword [ebp - 0x334]
push eax
call fcn.005190f0
mov ecx, dword [ebp - 0x328]
add esp, 0xc
mov eax, dword [ebp - 0x324]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], eax
add dword [ebp - 0x18], 0x18
jmp 0x4fa55d
push eax
push esi
lea ecx, [ebp - 0x1c]
call fcn.0041f500
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
mov dword [ebp + 0x18], 0
cmovae eax, dword [ebp + 8]
mov byte [eax], 0
mov edx, dword [ebp + 0x18]
mov esi, dword [ebp - 0x18]
test edx, edx
jne 0x4fa315
mov ecx, dword [ebp - 0x1c]
cmp ecx, esi
je 0x4fb417
push 0xa
xor edx, edx
call fcn.0040cc90
mov ecx, 7
mov dword [ebp - 0x5c], 0
xor edx, edx
mov dword [ebp - 0x4c], 0
add esp, 4
mov dword [ebp - 0x48], ecx
mov word [ebp - 0x5c], dx
dec eax
mov byte [ebp - 4], 3
cmp eax, 0x11
ja case.0x4fa5c1.16
jmp dword [eax*4 + 0x4fb498]
mov eax, dword [ebp - 0x1c]
sub esp, 0x18
add eax, 0x18
mov ecx, esp
push eax
call fcn.00402a10
lea ecx, [ebp - 0x34c]
call fcn.004157a0
add esp, 0x18
lea ecx, [edi + 0x32c]
push eax
call fcn.00409640
mov ecx, dword [ebp - 0x338]
cmp ecx, 8
jb 0x4fa633
mov edx, dword [ebp - 0x34c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4fa629
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4fb473
push ecx
push edx
call fcn.00517162
add esp, 8
lea eax, [edi + 0x32c]
lea esi, [edi + 0x4c0]
push eax
mov ecx, esi
call fcn.00408140
sub esp, 0x18
mov ecx, esp
push esi
call fcn.00408180
lea ecx, [ebp - 0x34c]
call fcn.004eb0a0
add esp, 0x18
lea ecx, [edi + 0x4d8]
push eax
call fcn.00409640
mov ecx, dword [ebp - 0x338]
cmp ecx, 8
jb 0x4fa6ac
mov edx, dword [ebp - 0x34c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4fa6a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4fb478
push ecx
push edx
call fcn.00517162
add esp, 8
sub esp, 0x18
mov ecx, esp
push esi
call fcn.00408180
lea ecx, [ebp - 0x34c]
call fcn.004138d0
add esp, 0x18
lea ecx, [ebp - 0x5c]
push eax
call fcn.00409640
mov ecx, dword [ebp - 0x338]
cmp ecx, 8
jb 0x4fa70e
mov edx, dword [ebp - 0x34c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4fa704
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4fb47d
push ecx
push edx
call fcn.00517162
add esp, 8
sub esp, 0x18
lea eax, [edi + 0x4c0]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00408180
lea ecx, [ebp - 0x34c]
call fcn.00412f10
push eax
mov edx, 0x55928c
mov byte [ebp - 4], 4
mov ecx, esi
call fcn.00417690
mov ecx, dword [edi + 0x62c]
add esp, 0x1c
call fcn.004e4c40
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x338]
cmp ecx, 8
jb 0x4fa792
mov edx, dword [ebp - 0x34c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4fa788
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4fb482
push ecx
push edx
call fcn.00517162
add esp, 8
push dword [edi + 0x5dc]
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [edi + 0x4d4], 8
lea esi, [edi + 0x4c0]
mov eax, esi
jb 0x4fa7b1
mov eax, dword [esi]
push 0x111
push 0x2b4
lea ecx, [ebp - 0x320]
push ecx
push 0x80
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
movsd xmm0, qword [0x577b80]
mulsd xmm0, qword [0x568238]
mov edx, dword [0x57ac1c]
mov ecx, dword [ebp - 0x320]
cvttsd2si eax, xmm0
push eax
push eax
call fcn.004ea1e0
mov ecx, dword [edi + 0x678]
add esp, 8
mov dword [edi + 0x5dc], eax
test ecx, ecx
je 0x4fa819
push eax
push eax
push 4
push ecx
push dword [edi + 0x674]
call dword [sym.imp.USER32.dll_SetMenuItemBitmaps]
push 1
mov ecx, edi
call fcn.004f90f0
sub esp, 0x18
mov ecx, esp
push esi
call fcn.00408180
mov ecx, dword [edi + 0x60]
push edi
push 7
call fcn.005084d0
mov ecx, dword [ebp - 0x48]
jmp case.0x4fa5c1.16
mov eax, dword [ebp - 0x1c]
sub esp, 0x18
mov esi, esp
add eax, 0x18
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00402a10
mov ecx, esi
call fcn.004157a0
mov ecx, dword [edi + 0x60]
add esp, 0x18
push edi
push 0xd
call fcn.005084d0
jmp 0x4fb417
mov eax, dword [ebp - 0x1c]
lea esi, [edi + 0x68]
mov edi, dword [esi]
add eax, 0x18
push eax
mov ecx, esi
call fcn.0040d030
mov edx, dword [esi]
cmp edi, edx
je 0x4fb417
lea ecx, [ebp - 0x3a0]
call fcn.004ed3f0
push eax
mov eax, dword [ebp - 0x32c]
lea ecx, [eax + 0x46c]
call fcn.004bfca0
lea ecx, [ebp - 0x3a0]
call fcn.004bdab0
jmp 0x4fb417
mov eax, dword [ebp - 0x1c]
add eax, 0x18
cmp dword [eax + 0x14], 0x10
jb 0x4fa8c8
mov eax, dword [eax]
push 0xa
push 0
push eax
call fcn.00525957
add esp, 0xc
mov dword [ebp - 0x32c], eax
mov dword [edi + 0x408], eax
mov esi, edx
mov dword [edi + 0x40c], esi
test eax, eax
jne 0x4fa922
cmp esi, 0xa00
jne 0x4fa922
lea ecx, [edi + 0x68]
call fcn.004c5a10
test al, al
jne 0x4fb417
mov eax, dword [edi + 0x5f8]
push 0x559420
push 0
push 0xc
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x4fb417
sub esp, 0x18
mov ecx, esp
push esi
push eax
call fcn.004e8690
mov ecx, dword [edi + 0x5f8]
add esp, 8
call fcn.004e4830
mov ecx, dword [edi + 0x620]
push esi
push dword [ebp - 0x32c]
call fcn.004e6f30
mov ecx, dword [edi + 0x61c]
push esi
push dword [ebp - 0x32c]
call fcn.004e5ff0
sub esp, 0x18
mov ecx, esp
push esi
push dword [ebp - 0x32c]
call fcn.004f4fb0
mov ecx, dword [edi + 0x60]
add esp, 8
push edi
push 8
call fcn.005084d0
jmp 0x4fb417
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x3ec]
add eax, 0x18
push eax
call fcn.00404f30
mov eax, dword [ebp - 0x1c]
sub esp, 0x18
mov esi, esp
add eax, 0x18
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00402a10
mov ecx, esi
call fcn.004157a0
mov ecx, dword [edi + 0x60]
add esp, 0x18
push edi
push 9
call fcn.005084d0
jmp 0x4fb417
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x44]
push str.___
lea edx, [edx + 0x30]
call fcn.004096d0
mov byte [ebp - 4], 5
mov edx, eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x18
push ecx
lea ecx, [ebp - 0x34c]
call fcn.0040feb0
sub esp, 0x10
mov byte [ebp - 4], 6
mov ecx, esp
mov edx, eax
push str._Segments__
call fcn.0040ca30
mov ecx, dword [edi + 0x5f8]
add esp, 4
call fcn.004e4830
lea ecx, [ebp - 0x34c]
call fcn.004028f0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 3
call fcn.004028f0
mov eax, dword [ebp - 0x1c]
add eax, 0x18
cmp dword [eax + 0x14], 0x10
jb 0x4faa39
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x34c]
call fcn.004029d0
push 0xa
xor edx, edx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x34c]
call fcn.0040cc90
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x34c]
mov esi, eax
call fcn.004028f0
mov ecx, dword [edi + 0x61c]
mov eax, esi
cdq
push edx
push eax
call fcn.004e5ff0
mov eax, dword [edi + 0x620]
lea ecx, [ebp - 0x2c]
push ecx
mov dword [ebp - 0x328], eax
push dword [eax + 0xc]
mov byte [eax + 0x2c], 1
mov dword [eax + 0x48], esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x328]
mov edx, dword [eax + 0x48]
test edx, edx
je 0x4faaf0
movsd xmm0, qword [0x577b80]
mulsd xmm0, qword [0x5681e8]
mov ecx, dword [ebp - 0x24]
cvttsd2si eax, xmm0
movd xmm0, edx
sub ecx, eax
mov eax, dword [ebp - 0x328]
sub ecx, dword [ebp - 0x2c]
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
movd xmm1, ecx
addsd xmm0, qword [edx*8 + 0x5685e0]
cvtdq2pd xmm1, xmm1
divsd xmm1, xmm0
movsd qword [eax + 0x68], xmm1
sub esp, 0x18
neg esi
mov edx, esi
mov ecx, esp
call fcn.00410210
mov ecx, dword [edi + 0x60]
push edi
push 8
call fcn.005084d0
mov edx, dword [ebp - 0x1c]
add edx, 0x18
cmp dword [edx + 0x14], 0x10
jb 0x4fab17
mov edx, dword [edx]
lea ecx, [ebp - 0x34c]
call fcn.00410340
sub esp, 0x18
mov byte [ebp - 4], 8
mov ecx, esp
mov edx, str.Segments_:
push eax
call fcn.00417690
mov ecx, dword [edi + 0x5e8]
add esp, 4
call fcn.004e5270
mov ecx, dword [ebp - 0x338]
cmp ecx, 8
jb 0x4fab84
mov edx, dword [ebp - 0x34c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4fab7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4fb487
push ecx
push edx
call fcn.00517162
add esp, 8
mov eax, esi
cdq
mov dword [edi + 0x408], eax
mov dword [edi + 0x40c], edx
jmp 0x4fb417
mov ecx, dword [ebp - 0x1c]
xor edx, edx
push 0xa
lea ecx, [ecx + 0x18]
call fcn.0040cc90
add esp, 4
cmp eax, 1
jne 0x4fac35
mov ecx, dword [edi + 0x618]
push 0x4b7f25
call fcn.004e5250
sub esp, 0x18
mov ecx, esp
push 0x566648
call fcn.00409680
mov ecx, dword [edi + 0x618]
call fcn.004e5270
mov eax, dword [edi + 0x624]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 1
push dword [eax + 0xc]
mov byte [eax + 0x10], 1
call esi
mov eax, dword [edi + 0x65c]
push 1
push dword [eax + 0xc]
mov byte [eax + 0x10], 1
call esi
mov eax, dword [edi + 0x660]
push 1
push dword [eax + 0xc]
mov byte [eax + 0x10], 1
call esi
sub esp, 0x18
mov ecx, esp
push 0x566664
call fcn.00409680
mov ecx, dword [edi + 0x60]
push edi
push 0xa
call fcn.005084d0
jmp 0x4fb417
lea ecx, [edi + 0x68]
call fcn.004c5a10
test al, al
jne 0x4fb417
mov eax, dword [edi + 0x65c]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 0
push dword [eax + 0xc]
mov byte [eax + 0x10], 0
call esi
mov eax, dword [edi + 0x660]
push 0
push dword [eax + 0xc]
mov byte [eax + 0x10], 0
call esi
mov eax, dword [edi + 0x624]
push 0
push dword [eax + 0xc]
mov byte [eax + 0x10], 0
call esi
mov ecx, dword [edi + 0x618]
push 0x2814c8
call fcn.004e5250
sub esp, 0x18
mov ecx, esp
push 0x5660f0
call fcn.00409680
mov ecx, dword [edi + 0x618]
call fcn.004e5270
sub esp, 0x18
mov ecx, esp
push 0x5663e4
jmp 0x4fac20
mov eax, dword [edi + 0x65c]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 1
push dword [eax + 0xc]
mov byte [eax + 0x10], 1
call esi
mov eax, dword [edi + 0x660]
push 1
push dword [eax + 0xc]
mov byte [eax + 0x10], 1
call esi
jmp 0x4fb417
lea ecx, [edi + 0x68]
call fcn.004c5a10
test al, al
je 0x4fad7a
mov ecx, dword [ebp - 0x1c]
xor edx, edx
push 0xa
lea ecx, [ecx + 0x18]
call fcn.0040cc90
mov ecx, dword [edi + 0x61c]
add esp, 4
cdq
push edx
push eax
call fcn.004e5f70
mov edx, dword [ebp - 0x1c]
add edx, 0x30
cmp dword [edx + 0x14], 0x10
jb 0x4fad22
mov edx, dword [edx]
sub esp, 0x18
mov ecx, esp
call fcn.00410340
mov ecx, dword [edi + 0x5e8]
call fcn.004e5270
mov esi, dword [edi + 0x61c]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
call fcn.0053afc0
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
movsd qword [ebp - 0x24], xmm0
call fcn.0053afc0
movsd xmm1, qword [ebp - 0x24]
mov ecx, edi
divsd xmm1, xmm0
push 0
mulsd xmm1, qword [0x568310]
movsd qword [edi + 0x688], xmm1
call fcn.004f90f0
mov eax, dword [edi + 0x468]
test eax, eax
je 0x4fad91
cmp dword [eax + 0x4e0], 2
je 0x4fb417
mov eax, dword [edi + 0x620]
push 0x101
push 0
push 0
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x4fb417
mov eax, dword [edi + 0x468]
test eax, eax
je 0x4fadc5
cmp dword [eax + 0x4e0], 2
je 0x4fb417
mov eax, dword [edi + 0x620]
push 0x101
push 0
push 0
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x4fb417
mov eax, dword [ebp - 0x1c]
sub esp, 0x18
mov esi, esp
add eax, 0x18
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00402a10
mov ecx, esi
call fcn.004157a0
mov ecx, dword [edi + 0x5f0]
add esp, 0x18
call fcn.004e5270
mov eax, dword [edi + 0x468]
test eax, eax
je 0x4fb417
cmp dword [eax + 0x4e0], 5
jne 0x4fb417
mov ecx, dword [edi + 0x61c]
push 0
push 0
call fcn.004e5f70
mov ecx, edi
call fcn.004fba90
jmp 0x4fb417
mov ecx, dword [ebp - 0x1c]
xor edx, edx
push 0xa
lea ecx, [ecx + 0x18]
call fcn.004cfde0
mov ecx, dword [edi + 0x61c]
add esp, 4
push edx
push eax
call fcn.004e5f70
jmp 0x4fb417
mov eax, dword [ebp - 0x1c]
sub esp, 0x18
add eax, 0x30
mov dword [ebp - 0x324], esp
mov ecx, esp
push eax
call fcn.00402a10
mov byte [ebp - 4], 9
xor edx, edx
mov ecx, dword [ebp - 0x1c]
push 0xa
lea ecx, [ecx + 0x18]
call fcn.0040cc90
add esp, 4
mov byte [ebp - 4], 3
mov ecx, dword [edi + 0x654]
push eax
call fcn.004f31b0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x44], 0x10
lea ecx, [eax + 0x30]
jb 0x4faeb3
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x40]
push 0xa
push str.Completed.
call fcn.0040cc20
add esp, 8
test al, al
je 0x4fb417
mov eax, dword [edi + 0x65c]
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 0
push dword [eax + 0xc]
mov byte [eax + 0x10], 0
call esi
mov eax, dword [edi + 0x660]
push 0
push dword [eax + 0xc]
mov byte [eax + 0x10], 0
call esi
jmp 0x4fb417
mov ecx, edi
call fcn.004fba90
mov ecx, dword [edi + 0x468]
test ecx, ecx
je 0x4faf11
mov eax, dword [ecx]
push 1
call dword [eax]
sub esp, 0x18
mov dword [edi + 0x468], 0
mov ecx, esp
push 0x559640
call fcn.00409680
mov ecx, dword [edi + 0x60]
push edi
push 2
call fcn.005084d0
jmp 0x4fb417
mov ecx, dword [edi + 0x468]
test ecx, ecx
je 0x4faf4a
mov eax, dword [ecx]
push 1
call dword [eax]
cmp byte [edi + 0x695], 0
mov dword [edi + 0x468], 0
je 0x4faf83
mov ecx, edi
call fcn.004fba90
sub esp, 0x18
mov ecx, esp
push 0x559640
call fcn.00409680
mov ecx, dword [edi + 0x60]
push edi
push 0
call fcn.005084d0
jmp 0x4fb417
sub esp, 0x18
mov ecx, esp
push 0x559640
call fcn.00409680
mov ecx, dword [edi + 0x60]
push edi
push 1
call fcn.005084d0
mov eax, dword [edi + 0x624]
push 1
push dword [eax + 0xc]
mov byte [eax + 0x10], 1
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
mov ecx, edi
call fcn.004f90f0
jmp 0x4fb417
mov ecx, dword [edi + 0x468]
test ecx, ecx
je 0x4fafd0
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
push 0xa
mov dword [edi + 0x468], 0
lea ecx, [ecx + 0x18]
call fcn.0040cc90
add esp, 4
cmp eax, 1
je 0x4fb2cb
cmp eax, 2
je 0x4fb243
cmp eax, 3
jne 0x4fb20c
sub esp, 0x18
mov ecx, esp
push 0x5663e4
call fcn.00409680
mov ecx, dword [edi + 0x60]
push edi
push 4
call fcn.005084d0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
mov ecx, dword [edi + 0x5e0]
push 0
call fcn.004e76f0
mov eax, dword [edi + 0x5e0]
push 0
push dword [eax + 0xc]
mov byte [eax + 0x10], 0
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x8c
call fcn.00517390
mov dword [ebp - 0x334], eax
push 0x8c
push 0
push eax
mov byte [ebp - 4], 0x10
call fcn.00519680
sub esp, 8
lea eax, [edi + 0x3d4]
mov ecx, esp
lea esi, [ebp - 0x34c]
push eax
call fcn.00402a10
mov ecx, esi
call fcn.004157a0
mov ecx, esp
mov byte [ebp - 4], 0x11
push 0x13
push 0x567f68
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.00408270
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x6c]
push eax
push dword [edi + 4]
call esi
mov edi, dword [ebp - 0x68]
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x32c]
push dword [eax + 4]
call esi
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x324], eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x32c]
push dword [eax + 4]
call esi
movsd xmm1, qword [0x577b80]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x32c]
push 0xa6
push 0x1a4
divsd xmm0, xmm1
mov eax, dword [esi + 0x67c]
add eax, 4
cvttsd2si ecx, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
add eax, ecx
push eax
divsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x324]
sub eax, 0x1a4
cvtdq2pd xmm0, xmm0
mov edi, dword [ebp - 0x334]
cdq
sub eax, edx
sar eax, 1
divsd xmm0, xmm1
cvttsd2si ecx, xmm0
add eax, ecx
mov ecx, edi
push eax
push dword [esi + 4]
call fcn.004e2cf0
lea eax, [ebp - 0x34c]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [edi + 0x74]
mov dword [edi], vtable.NeatWaitWindow.0
mov dword [edi + 0x60], esi
call fcn.00408180
mov dword [edi + 0x3c], 0xc00000
mov dword [edi + 0x40], 0x80
mov dword [edi + 0x6c], 0
mov dword [edi + 0x70], 0
mov dword [edi + 0x64], 0
mov dword [edi + 0x68], 0
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x338]
cmp ecx, 8
jb 0x4fb1ed
mov edx, dword [ebp - 0x34c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4fb1e3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4fb48c
push ecx
push edx
call fcn.00517162
add esp, 8
mov byte [ebp - 4], 3
mov ecx, edi
mov dword [esi + 0x66c], edi
mov eax, dword [edi]
push 1
call dword [eax + 8]
mov ecx, esi
call fcn.004f7a30
jmp 0x4fb417
mov ecx, edi
call fcn.004fba90
mov eax, dword [ebp - 0x1c]
sub esp, 0x18
mov esi, esp
add eax, 0x30
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00402a10
mov ecx, esi
call fcn.004157a0
mov ecx, dword [edi + 0x60]
add esp, 0x18
push edi
push 3
call fcn.005084d0
jmp 0x4fb3db
push 0xdc
call fcn.00517390
mov edi, eax
mov dword [ebp - 0x324], edi
push 0xdc
push 0
push edi
mov byte [ebp - 4], 0xd
call fcn.00519680
mov eax, dword [ebp - 0x1c]
sub esp, 8
mov dword [ebp - 0x334], esp
mov esi, esp
sub esp, 0x18
add eax, 0x48
mov ecx, esp
push eax
call fcn.00402a10
mov ecx, esi
call fcn.004157a0
mov eax, dword [ebp - 0x32c]
mov esi, esp
mov byte [ebp - 4], 0xe
add eax, 0x474
mov dword [ebp - 0x328], esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00402a10
mov ecx, esi
call fcn.004157a0
mov ecx, esp
mov byte [ebp - 4], 0xf
push str.Proxy
call fcn.00409680
mov byte [ebp - 4], 0xd
jmp 0x4fb364
push 0xdc
call fcn.00517390
mov edi, eax
mov dword [ebp - 0x20], edi
push 0xdc
push 0
push edi
mov byte [ebp - 4], 0xa
call fcn.00519680
mov eax, dword [ebp - 0x1c]
sub esp, 8
mov dword [ebp - 0x324], esp
mov esi, esp
sub esp, 0x18
add eax, 0x48
mov ecx, esp
push eax
call fcn.00402a10
mov ecx, esi
call fcn.004157a0
mov eax, dword [ebp - 0x32c]
mov esi, esp
mov byte [ebp - 4], 0xb
add eax, 0x118
mov dword [ebp - 0x334], esp
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x328], ecx
push eax
call fcn.00402a10
mov ecx, esi
call fcn.004157a0
mov eax, dword [ebp - 0x32c]
mov esi, esp
sub esp, 0x18
mov byte [ebp - 4], 0xc
mov ecx, esp
mov edx, dword [eax + 0x68]
call fcn.004eaaa0
mov ecx, esi
call fcn.004157a0
add esp, 0x18
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0x32c]
mov ecx, edi
push esi
call fcn.004efb20
mov ecx, eax
mov byte [ebp - 4], 3
mov eax, 0x668
mov edi, esi
sub esp, 0x18
mov dword [eax + edi], ecx
mov ecx, esp
push 0x559640
call fcn.00409680
mov ecx, dword [esi + 0x60]
push esi
push 5
call fcn.005084d0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
mov ecx, dword [esi + 0x5e0]
push 0
call fcn.004e76f0
mov eax, dword [esi + 0x5e0]
push 0
push dword [eax + 0xc]
mov byte [eax + 0x10], 0
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, 0x668
push 1
mov ecx, dword [eax + edi]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, esi
call fcn.004f7990
mov ecx, 7
cmp ecx, 8
jb 0x4fb417
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4fb40d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4fb491
push ecx
push edx
call fcn.00517162
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.0041ef30
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0x10
jb 0x4fb44f
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4fb445
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4fb491
push ecx
push edx
call fcn.00517162
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00517154
mov esp, ebp
pop ebp
ret 0x18
call fcn.00402ed0
call fcn.0051eb64
call fcn.0051eb64
call fcn.0051eb64
call fcn.0051eb64
call fcn.0051eb64
call fcn.0051eb64
call fcn.0051eb64
nop
enter 0x4fa5, 0
jo 5223494
dec edi
add byte [edx - 0x7bffb058], bh
test eax, 0xab98004f
dec edi
add dl, ah
lodsd eax, dword [esi]
dec edi
add dh, al
test eax, 0xaf3a004f
dec edi
add dl, bh
scasb al, byte es:[edi]
dec edi
add al, al
scasd eax, dword es:[edi]
dec edi
add byte [edi - 0x52], ah
dec edi
add ah, ah
lodsb al, byte [esi]
dec edi
add byte [esi - 0x48ffb053], ch
lodsb al, byte [esi]
dec edi
add byte [ebx - 0x52], al
dec edi
add al, ah
mov bl, 0x4f
add al, ah
mov bl, 0x4f
add byte [eax - 0x58], al
dec edi
add byte [ebp - 0x75], dl
push ebp
mov ebp, esp