Function at 0x4f5920
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x5dc9c5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x258
push ebp
push esi
mov esi, ecx
push edi
xor ebp, ebp
push 0x20
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebp
call fcn.00401510
lea ecx, [esp + 0x28]
mov dword [esp + 0x26c], ebp
call fcn.0041b1a0
lea ecx, [esp + 0x34]
mov byte [esp + 0x26c], 1
call fcn.0041b1a0
lea ecx, [esp + 0x40]
mov byte [esp + 0x26c], 2
call fcn.0041b1a0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x26c], 3
call fcn.0041b1a0
push 0x87f5fc
lea ecx, [esp + 0x1c]
mov byte [esp + 0x270], 4
call fcn.00401750
cmp word [str.Vision], bp
mov dword [esp + 0x26c], 5
mov edi, str.Vision
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0xc], ebp
mov eax, 0x7951ce
je 0x4f59e7
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4f59dc
sub eax, str.Vision
push ebx
sar eax, 1
dec eax
lea ecx, [esp + 0x10]
mov ebx, eax
lea edx, [ebx + 0x20]
push edx
call fcn.00401510
mov eax, dword [str.Vision]
mov ecx, dword [esp + 0x10]
cmp ax, bp
je 0x4f5a1e
add edi, 2
mov word [ecx], ax
add ecx, 2
mov ax, word [edi]
cmp ax, bp
jne 0x4f5a0d
mov word [ecx], bp
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x270], 6
cmp eax, 1
pop ebx
je 0x4f5a50
push 0x5c
lea ecx, [esp + 0x44]
call fcn.00405b40
lea eax, [esp + 0xc]
lea ecx, [esp + 0x40]
push eax
call fcn.004018e0
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x5c]
push str.Path
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x60]
push ecx
call fcn.00530071
mov edx, dword [esp + 0x54]
add esp, 8
lea eax, [esp + 0x1c]
mov dword [esp + 0x54], ebp
push eax
lea ecx, [esp + 0x50]
mov word [edx], bp
call fcn.004018e0
push 0x3a
lea ecx, [esp + 0x50]
call fcn.00405b40
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x50]
call fcn.004018e0
mov edx, dword [esp + 0x28]
cmp word [edx], bp
je 0x4f5ac3
push 0x5c
lea ecx, [esp + 0x50]
call fcn.00405b40
lea eax, [esp + 0x28]
lea ecx, [esp + 0x4c]
push eax
call fcn.004018e0
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.00530047
lea eax, [esp + 0x64]
push eax
call fcn.00530e66
mov eax, dword [esi + 0x9c]
add esp, 0xc
cmp eax, ebp
jne 0x4f5afa
push str.Vision_svVisionDll.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esi + 0x9c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [esi + 0x9c]
cmp eax, ebp
je 0x4f5c7d
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.svCreateVision
push eax
call edi
mov ecx, dword [esi + 0x9c]
push str.svDestroyVision
push ecx
mov dword [esi + 0xa0], eax
call edi
mov edx, dword [esi + 0x9c]
push str.svMatchModel
push edx
mov dword [esi + 0xa4], eax
call edi
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0x9c]
push str.fltDescribe
push eax
call edi
mov ecx, dword [esi + 0x9c]
push str.fltConfigure
push ecx
mov dword [esi + 0xac], eax
call edi
mov edx, dword [esi + 0x9c]
push str.fltRefreshLang
push edx
mov dword [esi + 0xb0], eax
call edi
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0x9c]
push str.svSetCurPos
push eax
call edi
mov ecx, dword [esi + 0x9c]
push str.svGetSts
push ecx
mov dword [esi + 0xb8], eax
call edi
mov edx, dword [esi + 0x9c]
push str.svGetPosList
push edx
mov dword [esi + 0xbc], eax
call edi
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x9c]
push str.svNextModel
push eax
call edi
mov ecx, dword [esi + 0x9c]
push str.svGetCurModelIdx
push ecx
mov dword [esi + 0xc4], eax
call edi
mov edx, dword [esi + 0x9c]
push str.svGetModelPara
push edx
mov dword [esi + 0xc8], eax
call edi
mov dword [esi + 0xcc], eax
mov eax, dword [esp + 0xc]
push eax
mov byte [esp + 0x270], 5
call fcn.005b44c3
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x270], 0xa
push ecx
call fcn.005b44c3
mov edx, dword [esp + 0x48]
mov byte [esp + 0x274], 9
push edx
call fcn.005b44c3
mov eax, dword [esp + 0x40]
mov byte [esp + 0x278], 8
push eax
call fcn.005b44c3
mov byte [esp + 0x27c], 7
mov ecx, dword [esp + 0x38]
push ecx
call fcn.005b44c3
mov edx, dword [esp + 0x30]
mov dword [esp + 0x280], 0xffffffff
push edx
call fcn.005b44c3
add esp, 0x18
mov eax, 1
jmp 0x4f5d33
call fcn.00596b38
mov esi, eax
lea eax, [esp + 0x58]
push eax
push 0x138f4
mov ecx, esi
call fcn.004c6180
cmp eax, ebp
je 0x4f5cb2
add esi, 0x1c
add eax, 0xc
push eax
mov ecx, esi
call fcn.005b48a8
push 1
mov ecx, esi
call fcn.005b4ba6
jmp 0x4f5cb4
xor eax, eax
push ebp
push ebp
push eax
call fcn.005bc06a
mov ecx, dword [esp + 0xc]
mov byte [esp + 0x26c], 5
push ecx
call fcn.005b44c3
mov edx, dword [esp + 0x50]
mov dword [esp + 0x270], 0xe
push edx
call fcn.005b44c3
mov eax, dword [esp + 0x48]
mov byte [esp + 0x274], 0xd
push eax
call fcn.005b44c3
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x278], 0xc
push ecx
call fcn.005b44c3
mov edx, dword [esp + 0x38]
mov byte [esp + 0x27c], 0xb
push edx
call fcn.005b44c3
mov eax, dword [esp + 0x30]
mov dword [esp + 0x280], 0xffffffff
push eax
call fcn.005b44c3
add esp, 0x18
xor eax, eax
mov ecx, dword [esp + 0x264]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x264
ret