Function at 0x4329e0
Capabilities:
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x5d2a81
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x394
mov eax, dword [0x87a768]
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], eax
xor ebx, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x1c], eax
push str.smc_Files_.smc_.smc
lea ecx, [esp + 0x20]
mov byte [esp + 0x3b0], 2
call fcn.005b491f
mov eax, dword [esp + 0x1c]
push ebx
push eax
push 0xe
push 0x87f498
push 0x87f498
push ebx
lea ecx, [esp + 0x80]
call fcn.005ad1df
lea ecx, [esp + 0x68]
mov byte [esp + 0x3ac], 3
call fcn.005ad346
cmp eax, 1
jne 0x432df0
mov ecx, 0x87f5b8
call fcn.00596130
push ebx
push ebx
mov ecx, 0x87f5b8
call fcn.00593890
mov ebp, eax
push ebp
mov dword [esp + 0x14], ebp
call fcn.005b449a
mov esi, eax
add esp, 4
cmp esi, ebx
jne 0x432aa2
mov byte [esp + 0x3ac], 4
jmp 0x432df8
push ebp
push esi
mov ecx, 0x87f5b8
call fcn.00593890
mov ecx, dword [0x87f5a8]
push ecx
push str.value
push str.machine_menu
push str.workspace
mov ecx, 0x87f5b8
call fcn.00594240
mov ecx, 0x87f5b8
call fcn.00596140
lea ecx, [esp + 0x30]
call fcn.00419f90
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3ac], 5
call fcn.00419f90
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
lea ecx, [esp + 0x5c]
mov byte [esp + 0x3ac], 6
call fcn.00419f90
push str.UTF_8
lea ecx, [esp + 0x60]
mov byte [esp + 0x3b0], 7
mov dword [esp + 0x50], ebx
mov dword [esp + 0x5c], ebx
call fcn.0041a280
cmp ebp, 4
mov byte [esp + 0x3ac], 8
jb 0x432bee
lea ecx, [esp + 0x30]
call fcn.0041ba00
push 0x190
call fcn.005b449a
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], 0x64
mov dword [esp + 0x28], ebx
lea edx, [esp + 0x30]
lea ecx, [esp + 0x24]
push edx
mov byte [esp + 0x3b0], 9
call fcn.0041c350
mov ax, word [esi]
xor ebp, ebp
and eax, 0xfefe
cmp eax, 0xfefe
jne 0x432b9a
mov ebp, 2
jmp 0x432bb0
cmp byte [esi], 0xef
jne 0x432bb0
cmp byte [esi + 1], 0xbb
jne 0x432bb0
cmp byte [esi + 2], 0xbf
jne 0x432bb0
mov ebp, 3
cmp ebp, dword [esp + 0x10]
jae 0x432bd9
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x24]
sub edx, ebp
push ecx
lea eax, [esi + ebp]
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.0041bbd0
add ebp, eax
mov eax, dword [esp + 0x10]
cmp ebp, eax
jb 0x432bb6
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x3ac], 8
push ecx
call fcn.005b44c3
add esp, 4
push esi
call fcn.005b44c3
add esp, 4
lea ebp, [edi + 0x58]
lea edx, [esp + 0x30]
mov ecx, ebp
push edx
call fcn.0054b410
lea eax, [esp + 0x10]
lea ecx, [esp + 0x68]
push eax
call fcn.005ad42e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3b0], 0xa
call fcn.005b48a8
lea ecx, [esp + 0x10]
mov byte [esp + 0x3ac], 8
call fcn.005b4761
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x6c]
call fcn.005ad53e
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3b0], 0xb
call fcn.005b48a8
lea ecx, [esp + 0x10]
mov byte [esp + 0x3ac], 8
call fcn.005b4761
mov ecx, ebp
call fcn.00557190
push eax
mov dword [esp + 0x14], eax
call fcn.005b449a
mov esi, eax
add esp, 4
cmp esi, ebx
jne 0x432cc6
lea ecx, [esp + 0x30]
mov byte [esp + 0x3ac], 0xd
call fcn.0041ba00
mov edx, dword [esp + 0x5c]
mov byte [esp + 0x3ac], 0xc
push edx
call fcn.005b44c3
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x3ac], 3
call fcn.0041b790
mov byte [esp + 0x3ac], 0xe
jmp 0x432df8
mov eax, dword [esp + 0x10]
mov ecx, ebp
push eax
push esi
call fcn.0055dd50
mov ecx, dword [esp + 0x14]
push ebx
push ebx
push 2
mov eax, dword [ecx - 8]
push ebx
push ebx
push 0xc0000000
push eax
lea ecx, [esp + 0x30]
call fcn.005b4ba6
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebp, eax
cmp ebp, ebx
je 0x432d1a
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x20]
push ebx
push edx
push eax
push esi
push ebp
mov dword [esp + 0x34], ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.005b44c3
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
add esp, 4
mov ecx, edi
push eax
call dword [edx + 0x50]
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x6c]
call fcn.005ad42e
mov eax, dword [eax]
mov edx, dword [edi]
push 1
push eax
mov ecx, edi
mov byte [esp + 0x3b4], 0xf
call dword [edx + 0x54]
lea ecx, [esp + 0x20]
mov byte [esp + 0x3ac], 8
call fcn.005b4761
mov dword [edi + 0x55c], ebx
lea ecx, [esp + 0x30]
mov byte [esp + 0x3ac], 0x11
call fcn.0043e1e0
cmp eax, ebx
je 0x432d8b
push eax
lea ecx, [esp + 0x34]
call fcn.0043e200
cmp eax, ebx
jne 0x432d7d
lea ecx, [esp + 0x30]
call fcn.0043e280
cmp eax, ebx
je 0x432da6
mov ecx, dword [esp + 0x50]
push eax
call fcn.0041e6a0
cmp eax, ebx
jne 0x432d98
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x58], 1
mov dword [esp + 0x64], ebx
push str.UTF_8
lea ecx, [esp + 0x60]
mov byte [eax], bl
call fcn.0041b5c0
mov ecx, dword [esp + 0x5c]
mov byte [esp + 0x3ac], 0x10
push ecx
call fcn.005b44c3
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x3ac], 3
call fcn.0041b790
mov byte [esp + 0x3ac], 0x12
lea ecx, [esp + 0x114]
call fcn.005b4761
lea ecx, [esp + 0x68]
mov byte [esp + 0x3ac], 2
call fcn.005afeed
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3ac], 1
call fcn.005b4761
lea ecx, [esp + 0x14]
mov byte [esp + 0x3ac], bl
call fcn.005b4761
lea ecx, [esp + 0x18]
mov dword [esp + 0x3ac], 0xffffffff
call fcn.005b4761
mov ecx, dword [esp + 0x3a4]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x3a0
ret