Function at 0x43de00
Capabilities:
Get number of processors
Set current directory

Disassembly:
push 0xffffffffffffffff
push 0x5cc348
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push ebx
push ebp
mov ebp, ecx
push esi
mov ecx, dword [esp + 0x30]
push edi
push eax
mov eax, dword [esp + 0x30]
or edx, 0x800000
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
push 0
mov ecx, ebp
mov dword [esp + 0x28], ebp
call fcn.00590148
lea ecx, [ebp + 0x1f8]
mov dword [esp + 0x1c], 0
call fcn.0043dac0
lea esi, [ebp + 0x22c]
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CButton.0
lea esi, [ebp + 0x268]
mov byte [esp + 0x1c], 1
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CButton.0
lea esi, [ebp + 0x2a4]
mov byte [esp + 0x1c], 2
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CButton.0
lea esi, [ebp + 0x2e0]
mov byte [esp + 0x1c], 3
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CButton.0
lea esi, [ebp + 0x31c]
mov byte [esp + 0x1c], 4
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CButton.0
lea esi, [ebp + 0x358]
mov byte [esp + 0x1c], 5
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CButton.0
lea esi, [ebp + 0x394]
mov byte [esp + 0x1c], 6
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CButton.0
lea esi, [ebp + 0x3d0]
mov byte [esp + 0x1c], 7
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CScrollBar.0
lea esi, [ebp + 0x40c]
mov byte [esp + 0x1c], 8
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CEdit.0
lea esi, [ebp + 0x448]
mov byte [esp + 0x1c], 9
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CComboBox.0
lea esi, [ebp + 0x484]
mov byte [esp + 0x1c], 0xa
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CButton.0
lea esi, [ebp + 0x4c0]
mov byte [esp + 0x1c], 0xb
mov ecx, esi
call fcn.00593595
mov dword [esi], vtable.CButton.0
mov dword [ebp], method.CFileDialog.virtual_0
mov edx, dword [0x63094c]
mov dword [esp + 0x38], edx
mov ebx, 0x192
lea ecx, [esp + 0x38]
push ebx
mov byte [esp + 0x20], 0xd
mov byte [0x63ee6c], 0
call fcn.005985fc
mov edi, dword [esp + 0x38]
mov esi, 0x62115c
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x43dfd1
test cl, cl
je 0x43dfcd
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x43dfd1
add eax, 2
add esi, 2
test cl, cl
jne 0x43dfad
xor eax, eax
jmp 0x43dfd6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43e045
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x63ee6c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
inc ebx
rep movsb byte es:[edi], byte [esi]
push ebx
lea ecx, [esp + 0x3c]
call fcn.005985fc
mov edi, dword [esp + 0x38]
mov esi, 0x62115c
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x43e03c
test cl, cl
je 0x43e038
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x43e03c
add eax, 2
add esi, 2
test cl, cl
jne 0x43e018
xor eax, eax
jmp 0x43e041
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43dfda
mov edi, 0x621158
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x63ee6c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x63ee6c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x63ee6c
add ecx, 0x63ee6c
cmp ecx, eax
jbe 0x43e09b
cmp byte [eax], 0x7c
jne 0x43e096
mov byte [eax], 0
inc eax
cmp eax, ecx
jb 0x43e08e
mov eax, dword [esp + 0x24]
mov edi, ebp
neg edi
mov dword [ebp + 0x50c], eax
lea eax, [ebp + 0x1f8]
sbb edi, edi
mov ecx, 0xd
and edi, eax
mov esi, 0x63f860
mov dword [ebp + 0x514], 0
mov eax, 1
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 0x4fc], eax
mov dword [ebp + 0x500], 0x64
mov dword [ebp + 0x504], eax
mov dword [ebp + 0x508], 0xa
mov dword [ebp + 0x510], ecx
mov al, byte [0x63edfc]
test al, 1
jne 0x43e125
mov dl, al
push 0x43e270
or dl, 1
mov byte [0x63edfc], dl
mov edx, dword [0x63094c]
mov dword [0x63edf8], edx
call fcn.004f609e
add esp, 4
push 0x88
mov ecx, 0x63edf8
call fcn.005985fc
mov edx, dword [ebp + 0x90]
mov eax, dword [0x63edf8]
or edx, 0x88040
mov dword [ebp + 0x8c], eax
mov dword [ebp + 0x90], edx
call fcn.005b2355
mov eax, dword [eax + 0xc]
mov dword [ebp + 0x68], 0x63ee6c
mov dword [ebp + 0x64], eax
call fcn.0059890a
test eax, eax
je 0x43e175
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x43e177
xor eax, eax
mov edx, dword [ebp + 0x78]
mov eax, dword [eax + 0x1c]
test edx, edx
mov dword [ebp + 0x60], eax
je 0x43e1ab
cmp byte [edx], 0
jne 0x43e1ab
mov edi, str.snap
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x78]
push 0x5c
push ecx
call fcn.004f6420
add esp, 8
test eax, eax
jne 0x43e1f3
mov edx, dword [ebp + 0x78]
push 0x2f
push edx
call fcn.004f6420
add esp, 8
test eax, eax
jne 0x43e1f3
mov edi, 0x63f66c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x43e1f3
push 0x63f66c
call dword [sym.imp.kernel32.dll_SetCurrentDirectoryA]
mov dword [ebp + 0x88], 0x63f66c
mov edx, 0x63ee6c
mov esi, 0x63ee00
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
mov dword [esi], edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
add esi, 4
lea edx, [edx + ecx + 1]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp esi, 0x63ee68
lea edx, [edx + ecx + 1]
jl 0x43e1fd
lea ecx, [ebp + 0x1f8]
call fcn.0043db00
mov eax, dword [ebp + 0x214]
lea ecx, [esp + 0x38]
inc eax
mov dword [ebp + 0x7c], 0x104
mov dword [ebp + 0x74], eax
mov byte [esp + 0x1c], 0xc
call fcn.00598032
mov ecx, dword [esp + 0x14]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 0x1c