Function at 0x443b40
Capabilities:
Create thread
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x460970
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
mov eax, dword [esp + 0x60]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x74]
push edi
push eax
mov esi, ecx
push str.xio.vision
mov dword [esp + 0x30], esi
call fcn.0043eaa0
push fcn.00417eb0
xor eax, eax
push 0x441800
mov dword [esi], 0x4692e0
lea ebp, [esi + 0x160]
push 3
mov dword [esp + 0x74], eax
mov dword [ebp], eax
mov dword [ebp + 4], eax
mov byte [ebp + 8], al
lea eax, [esi + 0x170]
push 0x10
push eax
mov dword [ebp + 0xc], str.XiODeviceVisionBA0
call fcn.0045b349
push fcn.00417eb0
push 0x4419e0
push 3
lea eax, [esi + 0x1a0]
push 0x10
push eax
mov byte [esp + 0x7c], 1
call fcn.0045b349
push 0x138
lea ebx, [esi + 0x1d0]
push str.XiODeviceVisionDrive
mov ecx, ebx
mov byte [esp + 0x70], 2
call fcn.00457cc0
mov dword [ebx], 0x4686b4
lea ecx, [esi + 0x2fc]
push str.xio.device.vision.monitor
mov byte [esp + 0x6c], 3
call fcn.00457c80
mov dword [esi + 0x2fc], 0x469cc4
push 0x4475d0
push 0x441f80
push 3
push 0x114
lea ecx, [esi + 0x410]
push ecx
mov byte [esp + 0x7c], 4
call fcn.0045b349
push 0x4475d0
push 0x441fa0
push 3
lea eax, [esi + 0x74c]
push 0x114
push eax
mov byte [esp + 0x7c], 5
call fcn.0045b349
push 0x4475d0
push 0x441fc0
push 3
push 0x114
lea edx, [esi + 0xa88]
push edx
mov byte [esp + 0x7c], 6
call fcn.0045b349
mov byte [esp + 0x68], 7
push 0x4475d0
push 0x441fe0
push 3
push 0x114
lea eax, [esi + 0xdc4]
push eax
call fcn.0045b349
mov ecx, ebx
mov byte [esp + 0x68], 8
call fcn.00457d10
mov dword [esp + 0x10], eax
xor eax, eax
cmp edi, eax
mov dword [esi + 0x2ec], eax
mov dword [esi + 0x1100], eax
mov dword [esi + 0x1104], eax
mov dword [esi + 0x2f0], eax
mov dword [esi + 0x2f4], eax
mov dword [esi + 0x2f8], eax
jge 0x443faf
mov edi, dword [esp + 0x10]
mov byte [edi + 0x10], al
mov eax, dword [esp + 0x70]
sub eax, 0
je 0x443cfd
sub eax, 1
je 0x443cf7
sub eax, 1
jne 0x443d15
push eax
push 0xc
jmp 0x443d01
push 0
push 0xb
jmp 0x443d01
push 0
push 0xa
push 0x19aa
mov ecx, esi
call fcn.0045a960
test al, al
je 0x443d15
mov byte [edi + 0x10], 1
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
lea edi, [edi + edi*2]
lea edx, [edi + edi*2]
lea eax, [ecx + edx*8 + 0x20]
mov dword [esp + 0x14], eax
lea eax, [esi + 0x2f0]
mov dword [esp + 0x18], eax
mov eax, 0xffffffe0
sub eax, ecx
lea ebx, [esi + 0x74c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 3
mov edi, edi
mov ecx, dword [esp + 0x14]
xor eax, eax
push eax
or eax, 0xffffffff
push eax
push 0x200000
mov dword [ecx + 8], 0x200000
call dword [sym.imp.RTX_RTSS.SYS_RtAllocateContiguousMemory]
mov edx, dword [esp + 0x18]
mov dword [edx], eax
test eax, eax
jne 0x443dd2
mov eax, dword [esp + 0x10]
mov byte [eax + 0x10], 0
call dword [sym.imp.RTX_RTSS.SYS_GetLastError]
mov ecx, dword [esp + 0x70]
push eax
push edi
push ecx
lea edx, [esp + 0x34]
push str.XiODeviceVision__d_Drive__d___could_not_allocate_to_the_contiguous_memory__error__d_
push edx
call fcn.00457740
add esp, 0x14
mov ecx, eax
mov byte [esp + 0x68], 9
call fcn.004577e0
push eax
push 0x4684dc
push str.__s___w___s_n
push 2
push 0x486aa0
call fcn.00457eb0
add esp, 0x14
lea ecx, [esp + 0x28]
mov byte [esp + 0x68], 8
call fcn.004577c0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x443eae
push eax
call dword [sym.imp.RTX_RTSS.SYS_RtGetPhysicalAddress]
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
mov dword [ecx + 4], edx
test eax, eax
jne 0x443e43
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0x10], al
call dword [sym.imp.RTX_RTSS.SYS_GetLastError]
mov edx, dword [esp + 0x70]
push eax
push edi
push edx
lea eax, [esp + 0x3c]
push str.XiODeviceVision__d_Drive__d___could_not_get_to_the_physical_address_from_the_virtual_address__error__d_
push eax
call fcn.00457740
add esp, 0x14
mov ecx, eax
mov byte [esp + 0x68], 0xa
call fcn.004577e0
push eax
push 0x4684dc
push str.__s___w___s_n
push 2
push 0x486aa0
call fcn.00457eb0
lea ecx, [esp + 0x44]
jmp 0x443ea1
lea ecx, [esi + 0x1d0]
call fcn.00457d10
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, edx
mov edx, dword [ecx + eax + 0x24]
mov eax, dword [ecx + eax + 0x20]
mov ecx, dword [esp + 0x70]
push edx
push eax
push edi
push ecx
lea edx, [esp + 0x48]
push str.XiODeviceVision__d_Drive__d___DMA_0x_08X_
push edx
call fcn.00457740
add esp, 0x18
mov ecx, eax
mov byte [esp + 0x68], 0xb
call fcn.004577e0
push eax
push 0x4684dc
push str.__s___i___s_n
push 4
push 0x486aa0
call fcn.00457eb0
lea ecx, [esp + 0x4c]
add esp, 0x14
mov byte [esp + 0x68], 8
call fcn.004577c0
push edi
lea eax, [esp + 0x44]
push 0x4691f0
push eax
call fcn.00457740
add esp, 0xc
mov ecx, eax
mov byte [esp + 0x68], 0xc
call fcn.004577e0
push eax
lea ecx, [ebx - 0x33c]
call fcn.00457980
lea ecx, [esp + 0x40]
mov byte [esp + 0x68], 8
call fcn.004577c0
push edi
lea ecx, [esp + 0x4c]
push 0x4691f0
push ecx
call fcn.00457740
add esp, 0xc
mov ecx, eax
mov byte [esp + 0x68], 0xd
call fcn.004577e0
push eax
mov ecx, ebx
call fcn.00457980
lea ecx, [esp + 0x48]
mov byte [esp + 0x68], 8
call fcn.004577c0
push edi
lea edx, [esp + 0x54]
push 0x4691f0
push edx
call fcn.00457740
add esp, 0xc
mov ecx, eax
mov byte [esp + 0x68], 0xe
call fcn.004577e0
push eax
lea ecx, [ebx + 0x33c]
call fcn.00457980
lea ecx, [esp + 0x50]
mov byte [esp + 0x68], 8
call fcn.004577c0
push edi
lea eax, [esp + 0x5c]
push 0x4691f0
push eax
call fcn.00457740
add esp, 0xc
mov ecx, eax
mov byte [esp + 0x68], 0xf
call fcn.004577e0
push eax
lea ecx, [ebx + 0x678]
call fcn.00457980
lea ecx, [esp + 0x58]
mov byte [esp + 0x68], 8
call fcn.004577c0
add dword [esp + 0x18], 4
add dword [esp + 0x14], 0x18
add ebx, 0x114
inc edi
sub dword [esp + 0x1c], 1
jne 0x443d50
jmp 0x4441d7
mov ecx, esi
call fcn.0045adb0
cdq
mov ecx, 3
idiv ecx
mov ecx, ebx
lea edx, [esi + edx*4 + 0x2f0]
mov dword [esp + 0x1c], edx
call fcn.00457d10
mov ecx, ebx
mov dword [esp + 0x20], eax
call fcn.00457d10
mov edx, dword [esp + 0x20]
lea ecx, [edi + edi*2]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov edx, dword [edx + ecx + 0x28]
push 0
push edx
mov edx, dword [eax + ecx + 0x24]
mov eax, dword [eax + ecx + 0x20]
push edx
push eax
call dword [sym.imp.RTX_RTSS.SYS_RtMapMemory]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
test eax, eax
jne 0x44407f
mov ecx, esi
call fcn.0045adb0
cdq
mov ecx, 3
idiv ecx
mov ebx, edx
call dword [sym.imp.RTX_RTSS.SYS_GetLastError]
mov edx, dword [esi + ebx*4 + 0x2f0]
push eax
push edx
mov ecx, esi
call fcn.0045adb0
push eax
mov ecx, esi
call fcn.0045ada0
push eax
lea eax, [esp + 0x68]
push str.XiODeviceVision__d_Drive__d___could_not_map_to_the_contiguous_memory_0x_08X___error__d_
push eax
call fcn.00457740
add esp, 0x18
mov ecx, eax
mov byte [esp + 0x68], 0x10
call fcn.004577e0
push eax
push 0x4684dc
push str.__s___w___s_n
push 2
push 0x486aa0
call fcn.00457eb0
add esp, 0x14
lea ecx, [esp + 0x58]
mov byte [esp + 0x68], 8
call fcn.004577c0
push edi
lea ecx, [esp + 0x5c]
push 0x4691f0
push ecx
call fcn.00457740
add esp, 0xc
mov dword [esp + 0x20], eax
mov ecx, esi
mov byte [esp + 0x68], 0x11
call fcn.0045adb0
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [esp + 0x20]
mov ebx, edx
call fcn.004577e0
imul ebx, ebx, 0x114
push eax
lea ecx, [ebx + esi + 0x410]
call fcn.00457980
lea ecx, [esp + 0x58]
mov byte [esp + 0x68], 8
call fcn.004577c0
push edi
lea edx, [esp + 0x5c]
push 0x4691f0
push edx
call fcn.00457740
add esp, 0xc
mov dword [esp + 0x20], eax
mov ecx, esi
mov byte [esp + 0x68], 0x12
call fcn.0045adb0
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [esp + 0x20]
mov ebx, edx
call fcn.004577e0
imul ebx, ebx, 0x114
push eax
lea ecx, [ebx + esi + 0x74c]
call fcn.00457980
lea ecx, [esp + 0x58]
mov byte [esp + 0x68], 8
call fcn.004577c0
push edi
lea edx, [esp + 0x5c]
push 0x4691f0
push edx
call fcn.00457740
add esp, 0xc
mov dword [esp + 0x20], eax
mov ecx, esi
mov byte [esp + 0x68], 0x13
call fcn.0045adb0
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [esp + 0x20]
mov ebx, edx
call fcn.004577e0
imul ebx, ebx, 0x114
push eax
lea ecx, [ebx + esi + 0xa88]
call fcn.00457980
lea ecx, [esp + 0x58]
mov byte [esp + 0x68], 8
call fcn.004577c0
push edi
lea edx, [esp + 0x5c]
push 0x4691f0
push edx
call fcn.00457740
add esp, 0xc
mov ebx, eax
mov byte [esp + 0x68], 0x14
mov ecx, esi
call fcn.0045adb0
cdq
mov ecx, 3
idiv ecx
mov ecx, ebx
mov edi, edx
call fcn.004577e0
imul edi, edi, 0x114
push eax
lea ecx, [edi + esi + 0xdc4]
call fcn.00457980
lea ecx, [esp + 0x58]
mov byte [esp + 0x68], 8
call fcn.004577c0
push 0
mov ecx, esi
call fcn.0045add0
push 0
mov ecx, esi
mov edi, eax
call fcn.0045ae70
push 1
mov ecx, esi
mov dword [ebp], eax
mov dword [ebp + 4], edi
call fcn.0045add0
mov edx, eax
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
cmp edx, 0x100
jbe 0x444214
mov edi, 0x100
jmp 0x44422a
push 1
mov ecx, esi
call fcn.0045add0
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
mov edi, edx
shr edi, 1
push 1
mov ecx, esi
call fcn.0045ae70
lea ebx, [esi + 0x170]
push 1
mov ecx, esi
mov dword [ebx], eax
mov dword [ebx + 4], edi
call fcn.0045add0
mov edx, eax
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
cmp edx, 0x100
jbe 0x444261
mov edi, 0x100
jmp 0x444277
push 1
mov ecx, esi
call fcn.0045add0
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
mov edi, edx
shr edi, 1
push 1
mov ecx, esi
call fcn.0045ae70
add eax, 0x100
push 1
mov ecx, esi
mov dword [esi + 0x180], eax
mov dword [esi + 0x184], edi
call fcn.0045add0
mov edx, eax
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
cmp edx, 0x100
jbe 0x4442b4
mov edi, 0x100
jmp 0x4442ca
push 1
mov ecx, esi
call fcn.0045add0
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
mov edi, edx
shr edi, 1
push 1
mov ecx, esi
call fcn.0045ae70
add eax, 0x200
push 2
mov ecx, esi
mov dword [esi + 0x190], eax
mov dword [esi + 0x194], edi
call fcn.0045add0
mov edx, eax
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
cmp edx, 0x3000
jbe 0x444307
mov edi, 0x3000
jmp 0x44431d
push 2
mov ecx, esi
call fcn.0045add0
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
mov edi, edx
shr edi, 1
push 2
mov ecx, esi
call fcn.0045ae70
push 2
mov ecx, esi
mov dword [esi + 0x1a0], eax
mov dword [esi + 0x1a4], edi
call fcn.0045add0
mov edx, eax
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
cmp edx, 0x3000
jbe 0x444355
mov edi, 0x3000
jmp 0x44436b
push 2
mov ecx, esi
call fcn.0045add0
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
mov edi, edx
shr edi, 1
push 2
mov ecx, esi
call fcn.0045ae70
add eax, 0x3000
push 2
mov ecx, esi
mov dword [esi + 0x1b0], eax
mov dword [esi + 0x1b4], edi
call fcn.0045add0
mov edx, eax
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
cmp edx, 0x3000
jbe 0x4443a8
mov edi, 0x3000
jmp 0x4443be
push 2
mov ecx, esi
call fcn.0045add0
mov ecx, eax
mov eax, 0xaaaaaaab
mul ecx
mov edi, edx
shr edi, 1
push 2
mov ecx, esi
call fcn.0045ae70
mov dword [esi + 0x1c4], edi
mov edi, dword [esp + 0x70]
push edi
lea edx, [esp + 0x5c]
add eax, 0x6000
push 0x4691f0
push edx
mov dword [esi + 0x1c0], eax
call fcn.00457740
add esp, 0xc
mov ecx, eax
mov byte [esp + 0x68], 0x15
call fcn.004577e0
push eax
lea ecx, [esi + 0x2fc]
call fcn.00457980
lea ecx, [esp + 0x58]
mov byte [esp + 0x68], 8
call fcn.004577c0
cmp dword [esp + 0x74], 0
jge 0x444816
push 0x1fff
mov ecx, ebp
mov byte [esp + 0x78], 0
call fcn.00440940
push 0
mov ecx, ebp
call fcn.00440940
push 0
mov ecx, ebp
call fcn.00440a20
push 0
mov ecx, ebp
call fcn.00440330
push 0
mov ecx, ebp
call fcn.00440b00
lea eax, [edi + edi*8]
lea ecx, [eax*8 + 0x20]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], 3
nop
xor edi, edi
xor ebx, ebx
lea ecx, [esi + 0x1d0]
call fcn.00457d10
mov edx, dword [esp + 0x14]
mov eax, dword [edx + eax]
mov ecx, dword [esp + 0x18]
add eax, ebx
push eax
push edi
call fcn.00441820
mov ecx, dword [esp + 0x18]
push 0x10000
push edi
call fcn.00441900
add ebx, 0x10000
inc edi
cmp ebx, 0x200000
jl 0x444474
add dword [esp + 0x14], 0x18
add dword [esp + 0x18], 0x10
sub dword [esp + 0x1c], 1
jne 0x444470
mov ecx, esi
call fcn.00442040
mov ebx, dword [esp + 0x10]
test al, al
jne 0x4444d4
mov byte [ebx + 0x10], al
cmp byte [ebx + 0x10], 0
je 0x4447d3
xor edi, edi
test edi, edi
je 0x444617
jle 0x4446b0
cmp edi, 2
jg 0x4446b0
mov ecx, esi
call fcn.0045adc0
sub eax, 1
je 0x44458c
sub eax, 1
jne 0x4446b0
push edi
push 0x469190
push 0x46918c
mov ecx, esi
call fcn.00442a30
test al, al
je 0x4446b0
push edi
push 0x469190
push 0x469188
mov ecx, esi
call fcn.00442a30
test al, al
je 0x4446b0
push 7
push edi
mov ecx, ebp
mov byte [esp + 0x7c], 1
call fcn.00440eb0
push 0x640
push edi
mov ecx, ebp
call fcn.00441090
push 1
push edi
mov ecx, ebp
call fcn.00441270
push 0x4b0
push edi
mov ecx, ebp
call fcn.00441450
push 0x138
push edi
mov ecx, ebp
call fcn.00441540
push 0
push edi
jmp 0x4446a9
push edi
push 0x469190
push 0x469184
mov ecx, esi
call fcn.00442a30
test al, al
je 0x4446b0
push edi
push 0x469190
push 0x469180
mov ecx, esi
call fcn.00442a30
test al, al
je 0x4446b0
push edi
push 0x46917c
push 0x469178
mov ecx, esi
call fcn.00442a30
test al, al
je 0x4446b0
push edi
push 0x469190
push 0x469174
mov ecx, esi
call fcn.00442a30
test al, al
je 0x4446b0
push 0xd
push edi
mov ecx, ebp
mov byte [esp + 0x7c], 1
call fcn.00440eb0
push 0x640
push edi
mov ecx, ebp
call fcn.00441090
push 0x12
jmp 0x444562
push 0
push 0x469190
push 0x46918c
mov ecx, esi
call fcn.00442a30
test al, al
je 0x4446b0
push 0
push 0x469190
push 0x469188
mov ecx, esi
call fcn.00442a30
test al, al
je 0x4446b0
push 0
push 0x469170
push 0x46916c
mov ecx, esi
call fcn.00442a30
test al, al
je 0x4446b0
push 0x43
push 0
mov ecx, ebp
mov byte [esp + 0x7c], 1
call fcn.00440eb0
push 0x200
push 0
mov ecx, ebp
call fcn.00441090
push 7
push 0
mov ecx, ebp
call fcn.00441270
push 0x1e0
push 0
mov ecx, ebp
call fcn.00441450
push 0x7a12
push 0
mov ecx, ebp
call fcn.00441540
push 0
push 0
mov ecx, ebp
call fcn.00441630
inc edi
cmp edi, 3
jl 0x4444e0
cmp byte [ebx + 0x10], 0
je 0x4447d3
cmp byte [esp + 0x74], 0
je 0x444701
mov eax, dword [esp + 0x70]
sub eax, 0
je 0x4446e6
sub eax, 1
je 0x4446e2
sub eax, 1
jne 0x444701
push 0x7c
jmp 0x4446e8
push 0x7d
jmp 0x4446e8
push 0x7e
push esi
push 0x442760
push 0x4426d0
mov ecx, esi
call fcn.0045aa50
test al, al
jne 0x444701
mov byte [ebx + 0x10], al
cmp byte [ebx + 0x10], 0
je 0x4447d3
push 1
mov ecx, ebp
call fcn.004405c0
mov ebx, dword [sym.imp.RTX_RTSS.SYS_Sleep]
xor edi, edi
lea esp, [esp]
mov ecx, ebp
call fcn.00440780
test eax, 0x1000
jne 0x444740
push 1
call ebx
inc edi
cmp edi, 0x3e8
jl 0x444720
jmp 0x4447d3
mov ecx, ebp
call fcn.00441720
cmp eax, 0x555
jne 0x444780
push 0x1fff
mov ecx, ebp
call fcn.00440940
push 0x1e00
mov ecx, ebp
call fcn.00440940
push 0x1ff
mov ecx, ebp
call fcn.00440a20
push 0x100
mov ecx, ebp
call fcn.00440330
jmp 0x4447d3
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
push edx
lea eax, [esp + 0x5c]
push 0x469140
push eax
mov byte [ecx + 0x10], 0
call fcn.00457740
add esp, 0xc
mov ecx, eax
mov byte [esp + 0x68], 0x16
call fcn.004577e0
push eax
push 0x4684dc
push str.__s___w___s_n
push 2
push 0x486aa0
call fcn.00457eb0
add esp, 0x14
lea ecx, [esp + 0x58]
mov byte [esp + 0x68], 8
call fcn.004577c0
mov edi, dword [esp + 0x10]
cmp byte [edi + 0x10], 0
je 0x444816
push 0
push 0
push esi
push 0x442ec0
push 0
push 0
call dword [sym.imp.RTX_RTSS.SYS_CreateThread]
mov dword [esi + 0x2ec], eax
test eax, eax
mov eax, esi
jne 0x444818
mov byte [edi + 0x10], 0
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
add esp, 0x5c
ret 8
mov eax, esi
mov ecx, dword [esp + 0x60]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5c
ret 8