Function at 0x464b20
Capabilities:
Check if file exists
Create process on windows
Get hostname

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46e890
mov eax, dword fs:[0]
push eax
sub esp, 0x4dc
mov eax, dword [0x4914f4]
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
cmp dword [0x492df0], 2
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x28]
mov dword [ebp - 0x4e0], eax
jg 0x46576f
xor edi, edi
test byte [0x4984f8], 1
jne 0x464bb1
or dword [0x4984f8], 1
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464b93
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
push 0x470470
mov dword [0x4984f4], eax
call fcn.004478c2
add esp, 4
push 0x100000
call fcn.0042316d
add esp, 4
lea ecx, [ebp - 0x4dc]
push ecx
lea edx, [ebp - 0x210]
push edx
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x4d8], edi
mov dword [ebp - 0x4dc], 0xff
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
push str.chenfeng_pc
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
je 0x464c10
push 0x471d88
lea ecx, [ebp - 0x210]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [ebp - 0x4dc]
xor edx, edx
mov word [ebp + eax*2 - 0x210], dx
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464c3a
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 4], edi
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464c69
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4b8], eax
mov byte [ebp - 4], 1
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464c99
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4b0], eax
mov byte [ebp - 4], 2
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464cc9
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4d0], eax
mov byte [ebp - 4], 3
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464cf9
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4ac], eax
mov byte [ebp - 4], 4
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464d29
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4b4], eax
mov byte [ebp - 4], 5
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464d59
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4bc], eax
mov byte [ebp - 4], 6
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464d89
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4c8], eax
lea ecx, [ebp - 0x4c8]
push ecx
lea edx, [ebp - 0x4bc]
push edx
lea eax, [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0x4ac]
push ecx
lea edx, [ebp - 0x4d0]
push edx
lea eax, [ebp - 0x4b0]
push eax
lea ecx, [ebp - 0x4b8]
push ecx
lea edx, [ebp - 0x4c0]
push edx
mov byte [ebp - 4], 7
call fcn.00463680
add esp, 0x20
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464df9
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x498], eax
mov byte [ebp - 4], 8
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464e29
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4a4], eax
mov byte [ebp - 4], 9
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464e59
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x494], eax
mov byte [ebp - 4], 0xa
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464e89
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x49c], eax
mov byte [ebp - 4], 0xb
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x464eb9
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4a8], eax
push 3
push 0x48133c
lea ecx, [ebp - 0x498]
mov byte [ebp - 4], 0xc
call fcn.00403400
cmp dword [0x498520], edi
je 0x464efd
push 5
push str.baidu
lea ecx, [ebp - 0x498]
call fcn.00403400
jmp 0x464f15
cmp dword [0x498518], edi
je 0x464f15
push 0x481328
lea ecx, [ebp - 0x498]
call fcn.00405850
cmp dword [0x4982b0], edi
je 0x464f2f
push 3
push 0x481320
lea ecx, [ebp - 0x498]
call fcn.00403340
push 8
push str.onlinetv
lea ecx, [ebp - 0x4a4]
call fcn.00403400
cmp dword [0x49852c], edi
je 0x464f5d
push 5
push str.baidu
lea ecx, [ebp - 0x4a4]
call fcn.00403400
jmp 0x464f75
cmp dword [0x498514], edi
je 0x464f75
push 0x481328
lea ecx, [ebp - 0x4a4]
call fcn.00405850
cmp dword [0x4982ac], edi
je 0x464f8f
push 3
push 0x481320
lea ecx, [ebp - 0x4a4]
call fcn.00403340
push 6
push str.youdao
lea ecx, [ebp - 0x494]
call fcn.00403400
cmp dword [0x498528], edi
je 0x464fbd
push 5
push str.baidu
lea ecx, [ebp - 0x494]
call fcn.00403400
jmp 0x464fd5
cmp dword [0x498510], edi
je 0x464fd5
push 0x481328
lea ecx, [ebp - 0x494]
call fcn.00405850
cmp dword [0x4982a8], edi
je 0x464fef
push 3
push 0x481320
lea ecx, [ebp - 0x494]
call fcn.00403340
push 6
push str.wiseie
lea ecx, [ebp - 0x4a8]
call fcn.00403400
cmp dword [0x49851c], edi
je 0x46501d
push 5
push str.baidu
lea ecx, [ebp - 0x494]
call fcn.00403400
jmp 0x465035
cmp dword [0x498508], edi
je 0x465035
push 0x481328
lea ecx, [ebp - 0x4a8]
call fcn.00405850
cmp dword [0x4982a0], edi
je 0x46504f
push 3
push 0x481320
lea ecx, [ebp - 0x4a8]
call fcn.00403340
push 4
push str.duba
lea ecx, [ebp - 0x49c]
call fcn.00403400
cmp dword [0x498524], edi
je 0x46507d
push 5
push str.baidu
lea ecx, [ebp - 0x49c]
call fcn.00403400
jmp 0x465095
cmp dword [0x49850c], edi
je 0x465095
push 0x481328
lea ecx, [ebp - 0x49c]
call fcn.00405850
cmp dword [0x4982a4], edi
je 0x4650af
push 3
push 0x481320
lea ecx, [ebp - 0x49c]
call fcn.00403340
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x4650c9
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4cc], eax
push 1
push 0x4754c0
push edi
lea ecx, [ebp - 0x4cc]
push ecx
push str.skintool.txt
mov byte [ebp - 4], 0xd
call fcn.0045d8a0
add esp, 0x14
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x465115
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4a0], eax
cmp dword [0x492df0], 1
mov bl, 0xe
mov byte [ebp - 4], bl
jne 0x465346
call fcn.0042fa4e
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x465153
push 0x80004005
call fcn.00401350
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4c4], eax
push edi
lea ecx, [ebp - 0x220]
push 2
push ecx
mov byte [ebp - 4], 0xf
call fcn.0045bd10
mov edx, dword [ebp + 0x10]
add esp, 0xc
cmp dword [edx], edi
jne 0x4651c3
movzx eax, word [ebp - 0x216]
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x21a]
push eax
movzx eax, word [ebp - 0x21e]
push ecx
movzx ecx, word [ebp - 0x220]
push edx
push eax
push ecx
lea edx, [ebp - 0x4c4]
push str.05.27_new_user:_4d._02d._02d__02d:_02d
push edx
call fcn.00403af0
add esp, 0x1c
jmp 0x4652d4
lea eax, [ebp - 0x490]
push eax
push edi
push 0x471d88
call fcn.0045ec40
add esp, 8
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x4e8]
push ecx
lea edx, [ebp - 0x48c]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x4e8]
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx edx, word [ebp - 0x216]
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x21a]
push edx
movzx edx, word [ebp - 0x21e]
push eax
movzx eax, word [ebp - 0x220]
push ecx
movzx ecx, word [ebp - 0x226]
push edx
movzx edx, word [ebp - 0x228]
push eax
movzx eax, word [ebp - 0x22a]
push ecx
movzx ecx, word [ebp - 0x22e]
push edx
movzx edx, word [ebp - 0x230]
push eax
push ecx
push edx
lea eax, [ebp - 0x4c4]
push str.05.27_old_user:_4d._02d._02d__02d:_02d__4d._02d._02d__02d:_02d
push eax
call fcn.00403af0
add esp, 0x30
lea ecx, [ebp - 0x240]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [ebp - 0x230]
movzx eax, word [ebp - 0x22e]
imul edx, edx, 0x16d
mov ecx, eax
shl ecx, 4
sub ecx, eax
movzx eax, word [ebp - 0x23e]
lea ecx, [edx + ecx*2]
movzx edx, word [ebp - 0x22a]
add ecx, edx
movzx edx, word [ebp - 0x240]
imul edx, edx, 0x16d
mov esi, eax
shl esi, 4
sub esi, eax
lea eax, [edx + esi*2]
movzx edx, word [ebp - 0x23a]
add eax, edx
sub eax, ecx
mov dword [0x4984f0], eax
mov eax, dword [ebp - 0x4bc]
mov edi, dword [ebp - 0x4c8]
mov ecx, dword [ebp - 0x4b4]
mov edx, dword [ebp - 0x4ac]
mov esi, dword [ebp - 0x4c4]
push eax
mov eax, dword [ebp - 0x4b0]
push edi
push ecx
mov ecx, dword [ebp - 0x4b8]
push edx
mov edx, dword [ebp - 0x4c0]
push eax
push ecx
push edx
push esi
push str.__s_:___s:_s:_s:_s:_s:_s:_s
push 0x4984f4
call fcn.00403af0
lea eax, [esi - 0x10]
add esp, 0x28
mov byte [ebp - 4], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4653cd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4653cd
mov ecx, dword [ebp - 0x4d0]
mov edx, dword [ebp - 0x4bc]
mov edi, dword [ebp - 0x4c8]
mov eax, dword [ebp - 0x4b4]
push ecx
mov ecx, dword [ebp - 0x4ac]
push edx
mov edx, dword [ebp - 0x4b0]
push edi
push eax
mov eax, dword [ebp - 0x4b8]
push ecx
mov ecx, dword [ebp - 0x4c0]
push edx
mov edx, dword [ebp - 0x4a8]
push eax
mov eax, dword [ebp - 0x49c]
push ecx
mov ecx, dword [ebp - 0x494]
push edx
mov edx, dword [ebp - 0x4a4]
push eax
mov eax, dword [ebp - 0x498]
push ecx
mov ecx, dword [0x4984f4]
push edx
mov edx, dword [esi]
push eax
mov eax, dword [ebp - 0x4cc]
push ecx
push edx
push eax
lea ecx, [ebp - 0x210]
push ecx
lea edx, [ebp - 0x4a0]
push str.http:__soft.cfxy.me_count.php_product_s_ssource___s__s___s__s__s__s__s_:___s:_s:_s:_s:_s:_s:_s:_s
push edx
call fcn.00403af0
add esp, 0x4c
cmp dword [0x492df0], 2
jne 0x46551e
cmp dword [0x4982b0], 0
jne 0x4653fe
mov eax, dword [0x4982a4]
add eax, dword [0x4982a0]
add eax, dword [0x4982a8]
add eax, dword [0x4982ac]
test eax, eax
jle 0x46540b
push 0x496ea0
call fcn.00463fb0
add esp, 4
mov ebx, 1
cmp dword [0x4984f0], ebx
jle 0x46542d
push str.countold.php
push str.count.php
lea ecx, [ebp - 0x4a0]
call fcn.0040ba10
push 0x496ea0
call fcn.0045f810
mov edx, dword [ebp - 0x4e0]
add esp, 4
mov dword [edx], eax
test eax, eax
jne 0x46548d
push eax
push str.noad.ini
call fcn.0045b8f0
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 8
push eax
call esi
test eax, eax
je 0x46546c
mov dword [0x496e90], ebx
call fcn.00464a10
push 0
push str.noad.ini
call fcn.0045ec40
add esp, 8
push eax
call esi
test eax, eax
je 0x46548d
mov dword [0x496e90], ebx
call fcn.00464a10
mov esi, dword [ebp - 0x4d4]
mov ecx, dword [ebp - 0x4a0]
lea eax, [ebp - 0x4d8]
push eax
push esi
push ecx
call fcn.0045bf70
add esp, 0xc
test eax, eax
je 0x4654da
push 0x4738fc
push str.http:__soft.cfxy.me
lea ecx, [ebp - 0x4a0]
call fcn.0040ba10
mov eax, dword [ebp - 0x4a0]
lea edx, [ebp - 0x4d8]
push edx
push esi
push eax
call fcn.0045bf70
add esp, 0xc
cmp dword [0x496e90], 0
jne 0x465529
cmp dword [ebp + 0x2c], 0
jne 0x465529
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0
jne 0x465529
push ebx
push 0x481068
push 0x480fb0
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, ebx
jne 0x465529
push ebx
push 0
push 0
push 0x4738fc
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x465529
mov esi, dword [ebp - 0x4d4]
mov ebx, 1
add dword [0x492df0], ebx
push esi
call fcn.00423178
mov eax, dword [ebp - 0x4a0]
add eax, 0xfffffff0
add esp, 4
mov byte [ebp - 4], 0xd
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x46555e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4cc]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x465584
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4a8]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4655aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x49c]
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 0x4655d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x494]
add eax, 0xfffffff0
mov byte [ebp - 4], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4655f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4a4]
add eax, 0xfffffff0
mov byte [ebp - 4], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46561c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x498]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x465642
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x465662
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4bc]
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 0x465688
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4b4]
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 0x4656ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4ac]
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 0x4656d4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4d0]
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 0x4656fa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4b0]
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 0x465720
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4b8]
add eax, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x465746
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x4c0]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46576f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
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.0044665f
mov esp, ebp
pop ebp
ret