Function at 0x413d30
Capabilities:
Write file on windows

Disassembly:
mov eax, 0x1430
call fcn.00459b10
mov eax, dword [0x488e40]
xor eax, esp
mov dword [esp + 0x142c], eax
mov al, byte [0x48d539]
push ebx
mov bl, byte [esp + 0x143c]
push ebp
push esi
mov byte [esp + 0x2c], al
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1440]
push edi
push edx
mov esi, ecx
mov ecx, dword [0x48a620]
push eax
push esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], 0
call fcn.004146b0
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x1c]
add eax, 1
lea eax, [eax + eax*4]
add esp, 0xc
cmp eax, 0xfff
mov esi, eax
jl 0x413da1
mov esi, 0xfff
push esi
lea ecx, [esp + 0x43c]
push 0x20
push ecx
call fcn.004579a0
lea edi, [esp + esi + 0x444]
add esp, 0xc
mov byte [esp + 0x1437], 0
mov dword [esp + 0x34], edi
mov ebp, edi
xor ebx, ebx
jmp 0x413dd0
test ebx, ebx
je 0x413ddd
mov esi, dword [ebx*4 + 0x48a684]
jmp 0x413df1
cmp byte [esp + 0x1448], 0
mov esi, str.Export
jne 0x413df1
mov esi, str.Import
lea eax, [esp + 0x1438]
sub eax, ebp
test eax, eax
mov ecx, ebp
jle 0x413e1f
sub eax, 1
test eax, eax
jle 0x413e1c
mov dl, byte [esi]
test dl, dl
je 0x413e1c
mov byte [ecx], dl
sub eax, 1
add ecx, 1
add esi, 1
test eax, eax
jg 0x413e07
mov byte [ecx], 0
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x413e24
sub eax, edx
add eax, ebp
cmp ebx, 4
jge 0x413e68
mov edx, dword [esp + 0x144c]
mov ecx, dword [edx + ebx*4]
mov edx, eax
add ecx, 2
sub edx, ebp
cmp edx, ecx
jge 0x413e68
jmp 0x413e50
lea esi, [esp + 0x1437]
cmp eax, esi
jae 0x413e68
mov byte [eax], 0x20
add edx, 1
add eax, 1
cmp edx, ecx
jl 0x413e50
add ebx, 1
cmp ebx, 5
mov ebp, eax
jl 0x413dd0
lea ecx, [esp + 0x1438]
sub ecx, eax
test ecx, ecx
jle 0x413ea7
sub ecx, 1
test ecx, ecx
jle 0x413ea4
mov esi, 0x47656c
sub esi, eax
mov dl, byte [esi + eax]
test dl, dl
je 0x413ea4
mov byte [eax], dl
sub ecx, 1
add eax, 1
test ecx, ecx
jg 0x413e91
mov byte [eax], 0
lea eax, [esp + 0x438]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x413eb1
sub eax, edx
mov esi, eax
cmp esi, 0xffffffff
jne 0x413edd
lea eax, [esp + 0x438]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x413ed0
sub eax, edx
mov esi, eax
mov edx, dword [esp + 0x28]
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x444]
push ecx
push edx
mov dword [esp + 0x28], 0
call ebx
test eax, eax
je 0x413f14
cmp dword [esp + 0x14], esi
je 0x413f2e
push 0x1d
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x41436a
push eax
call fcn.00454dd4
add esp, 4
jmp 0x41436a
mov eax, edi
mov edi, dword [esp + 0x144c]
xor esi, esi
mov edx, dword [edi + esi*4]
xor ecx, ecx
test edx, edx
jle 0x413f5a
lea ebp, [esp + 0x1437]
cmp eax, ebp
jae 0x413f5a
mov byte [eax], 0x2d
add ecx, 1
add eax, 1
cmp ecx, edx
jl 0x413f42
cmp esi, 4
jge 0x413f7c
lea ecx, [esp + 0x1437]
cmp eax, ecx
jae 0x413f7c
mov byte [eax], 0x20
add eax, 1
mov edx, ecx
cmp eax, edx
jae 0x413f7c
mov byte [eax], 0x20
add eax, 1
add esi, 1
cmp esi, 5
jl 0x413f39
lea ecx, [esp + 0x1438]
sub ecx, eax
test ecx, ecx
jle 0x413fb6
sub ecx, 1
test ecx, ecx
jle 0x413fb3
mov esi, 0x47656c
sub esi, eax
nop
mov dl, byte [eax + esi]
test dl, dl
je 0x413fb3
mov byte [eax], dl
sub ecx, 1
add eax, 1
test ecx, ecx
jg 0x413fa0
mov byte [eax], 0
lea eax, [esp + 0x438]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x413fc0
sub eax, edx
mov esi, eax
cmp esi, 0xffffffff
jne 0x413fed
lea eax, [esp + 0x438]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x413fe0
sub eax, edx
mov esi, eax
mov edx, dword [esp + 0x28]
push 0
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x444]
push ecx
push edx
mov dword [esp + 0x28], 0
call ebx
test eax, eax
je 0x413f14
cmp dword [esp + 0x14], esi
jne 0x413f0c
mov eax, dword [esp + 0x20]
cmp dword [eax], 0
mov dword [esp + 0x14], eax
je 0x41430e
nop
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x2c], edi
lea esp, [esp]
cmp edi, 4
ja case.default.0x414059
jmp dword [edi*4 + 0x414388]
mov eax, esi
mov byte [esp + 0x38], 0x5b
call fcn.00413ba0
test eax, eax
je 0x41408a
mov al, byte [eax]
test al, al
je 0x41408a
cmp al, 0x3f
setne cl
sub cl, 1
and cl, 0xe8
add cl, 0x43
mov byte [esp + 0x39], cl
jmp 0x41408f
mov byte [esp + 0x39], 0x4f
cmp byte [esp + 0x1448], 0
je 0x4140d2
mov edx, dword [esi + 4]
and edx, 0x200
neg edx
sbb dl, dl
and dl, 0x32
add dl, 0x20
mov byte [esp + 0x3a], dl
mov eax, dword [esi + 0xc]
neg eax
sbb al, al
and al, 0x26
add al, 0x20
mov byte [esp + 0x3b], al
mov byte [esp + 0x3c], 0x5d
mov byte [esp + 0x3d], 0
lea ebx, [esp + 0x38]
jmp 0x414180
mov ecx, dword [esi + 0xc]
neg ecx
sbb cl, cl
and cl, 0xdb
add cl, 0x45
mov byte [esp + 0x3a], cl
mov edx, dword [esi + 4]
and edx, 0x100
neg edx
sbb dl, dl
and dl, 0x24
add dl, 0x20
mov byte [esp + 0x3b], dl
mov byte [esp + 0x3c], 0x5d
mov byte [esp + 0x3d], 0
lea ebx, [esp + 0x38]
jmp 0x414180
test byte [esi + 4], 2
je 0x414118
movzx eax, word [esi + 8]
test eax, eax
jge 0x41411f
mov ebx, 0x479354
jmp 0x414180
push eax
push eax
push str._d__0x_04X_
mov esi, 0x400
lea edi, [esp + 0x44]
call fcn.00416ab0
mov esi, dword [esp + 0x30]
mov ebx, edi
mov edi, dword [esp + 0x38]
add esp, 0xc
jmp 0x414180
test byte [esi + 4], 4
je 0x414151
movzx eax, word [esi + 0xa]
test eax, eax
jge 0x41411f
mov ebx, 0x479354
jmp 0x414180
movzx eax, byte [esp + 0x30]
mov esi, dword [esp + 0x24]
push eax
lea ebx, [esp + 0x3c]
call fcn.00426780
mov dword [esp + 0x18], eax
mov ebx, eax
jmp case.default.0x414059
lea eax, [esp + 0x38]
mov ecx, esi
call fcn.00426830
mov ebx, eax
mov dword [esp + 0x18], ebx
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x414190
sub eax, edx
cmp edi, 1
je 0x4141a5
cmp edi, 2
jne 0x4141cc
mov ecx, dword [esp + 0x144c]
mov ecx, dword [ecx + edi*4]
cmp eax, ecx
jge 0x4141cc
lea edx, [esp + 0x1437]
cmp ebp, edx
jae 0x4141cc
mov byte [ebp], 0x20
add eax, 1
add ebp, 1
cmp eax, ecx
jl 0x4141b3
lea ecx, [esp + 0x1438]
sub ecx, ebp
test ecx, ecx
jle 0x414207
sub ecx, 1
test ecx, ecx
jle 0x414203
mov esi, ebx
sub esi, ebp
mov dl, byte [esi + ebp]
test dl, dl
je 0x4141ff
cmp dl, 0x20
jge 0x4141f2
mov dl, 4
mov byte [ebp], dl
sub ecx, 1
add ebp, 1
test ecx, ecx
jg 0x4141e4
mov esi, dword [esp + 0x24]
mov byte [ebp], 0
cmp edi, 4
mov edx, dword [esp + 0x1c]
lea ebp, [edx + eax]
jge 0x414249
mov eax, dword [esp + 0x144c]
mov eax, dword [eax + edi*4]
mov ecx, ebp
add eax, 2
sub ecx, edx
cmp ecx, eax
jge 0x414249
jmp 0x414230
lea edx, [esp + 0x1437]
cmp ebp, edx
jae 0x414249
mov byte [ebp], 0x20
add ecx, 1
add ebp, 1
cmp ecx, eax
jl 0x414230
add edi, 1
cmp edi, 5
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x2c], edi
jl 0x414050
mov edx, ebp
neg edx
lea eax, [esp + edx + 0x1438]
test eax, eax
jle 0x41428f
sub eax, 1
test eax, eax
jle 0x41428b
mov cl, byte [edx + ebp + 0x47656c]
test cl, cl
je 0x41428b
mov byte [ebp], cl
sub eax, 1
add ebp, 1
test eax, eax
jg 0x414273
mov byte [ebp], 0
lea eax, [esp + 0x438]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4142a0
sub eax, edx
mov esi, eax
cmp esi, 0xffffffff
jne 0x4142cd
lea eax, [esp + 0x438]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4142c0
sub eax, edx
mov esi, eax
mov edx, dword [esp + 0x28]
push 0
lea eax, [esp + 0x20]
push eax
push esi
lea ecx, [esp + 0x444]
push ecx
push edx
mov dword [esp + 0x30], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x414353
cmp dword [esp + 0x1c], esi
jne 0x41434b
mov eax, dword [esp + 0x14]
add eax, 4
cmp dword [eax], 0
mov dword [esp + 0x14], eax
jne 0x414030
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00454dd4
mov eax, dword [esp + 0x2c]
add esp, 4
push 0
lea edx, [esp + 0x20]
push edx
push 2
push 0x47656c
push eax
mov dword [esp + 0x30], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41436a
cmp dword [esp + 0x1c], 2
jne 0x414362
mov al, 1
jmp 0x41436c
push 0x1d
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [esp + 0x20]
push eax
call fcn.00454dd4
add esp, 4
jmp 0x41436a
push 0x1d
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor al, al
mov ecx, dword [esp + 0x143c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00454016
add esp, 0x1430
ret