Function at 0x1e0053a1
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x188
mov eax, dword [0x1e02c028]
xor ecx, ecx
cmp dword [0x1e02c464], ecx
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 4], eax
mov dword [ebp - 0x158], ecx
jne 0x1e005673
cmp dword [0x1e02c458], ecx
je 0x1e005673
cmp dword [0x1e02c460], ecx
je 0x1e005673
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
and esi, 0xfffffff
dec eax
mov dword [0x1e02c6d4], ecx
je 0x1e0055c6
dec eax
jne 0x1e005671
push ecx
push ecx
lea eax, [ebp - 0x188]
push eax
mov eax, esi
push edi
or eax, 0x20000000
push eax
call sym.MIGISM.dll_IsmAcquireObjectEx
test eax, eax
je 0x1e005671
push 2
mov ebx, 0x1e02c6cc
push ebx
call fcn.1e01ef89
push 4
push ebx
call fcn.1e01ee7a
mov dword [eax], esi
mov eax, edi
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1e005441
sub eax, esi
inc eax
push eax
push ebx
call fcn.1e01ef89
push edi
push ebx
call fcn.1e01f082
push 0x28
push ebx
call fcn.1e01ef89
push 0x28
push ebx
call fcn.1e01ee7a
push 0xa
pop ecx
lea esi, [ebp - 0x188]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
xor esi, esi
cmp dword [ebp - 0x170], esi
je 0x1e0054c7
cmp dword [ebp - 0x16c], esi
je 0x1e0054c7
push dword [ebp - 0x170]
push ebx
call fcn.1e01ef89
mov eax, dword [ebp - 0x170]
mov esi, dword [ebp - 0x16c]
push eax
push ebx
mov dword [ebp - 0x15c], eax
call fcn.1e01ee7a
mov edi, eax
mov eax, dword [ebp - 0x15c]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor esi, esi
jmp 0x1e0054ce
push esi
push ebx
call fcn.1e01ef89
cmp dword [ebp - 0x184], esi
je 0x1e00556a
lea eax, [ebp - 0x154]
push eax
push dword [ebp - 0x180]
call fcn.1e01b1f5
test eax, eax
je 0x1e005561
test byte [ebp - 0x154], 0x10
jne 0x1e005561
inc dword [0x1e02c6e0]
push dword [0x1e02c6e0]
lea eax, [ebp - 0x14]
push 0x1e0014ec
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push esi
lea eax, [ebp - 0x14]
push eax
push dword [0x1e02c458]
push esi
call fcn.1e01db38
add esp, 0x1c
push esi
mov edi, eax
push edi
push dword [ebp - 0x180]
call fcn.1e01b969
push edi
push esi
call fcn.1e01bf2c
lea eax, [ebp - 0x14]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1e005544
sub eax, esi
inc eax
push eax
push ebx
call fcn.1e01ef89
lea eax, [ebp - 0x14]
push eax
push ebx
call fcn.1e01f082
jmp 0x1e0055ad
push esi
push ebx
call fcn.1e01ef89
jmp 0x1e0055ad
push dword [ebp - 0x17c]
push ebx
call fcn.1e01ef89
cmp dword [ebp - 0x17c], esi
je 0x1e0055ad
mov eax, dword [ebp - 0x17c]
mov esi, dword [ebp - 0x180]
push eax
push ebx
mov dword [ebp - 0x15c], eax
call fcn.1e01ee7a
mov edi, eax
mov eax, dword [ebp - 0x15c]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x1e02c6d4]
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0x188]
push eax
call sym.MIGISM.dll_IsmReleaseObject
jmp 0x1e005605
push 1
mov ebx, 0x1e02c6cc
push ebx
call fcn.1e01ef89
push 4
push ebx
call fcn.1e01ee7a
mov dword [eax], esi
mov eax, edi
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1e0055e2
sub eax, esi
inc eax
push eax
push ebx
call fcn.1e01ef89
push edi
push ebx
call fcn.1e01f082
mov eax, dword [0x1e02c6d4]
mov dword [ebp - 0x158], eax
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
xor edi, edi
push edi
lea eax, [ebp - 0x160]
push eax
push 4
lea eax, [ebp - 0x158]
push eax
push dword [0x1e02c460]
call esi
push edi
lea eax, [ebp - 0x160]
push eax
push dword [0x1e02c6d4]
push dword [0x1e02c6cc]
push dword [0x1e02c460]
call esi
push edi
lea eax, [ebp - 0x160]
push eax
push 4
lea eax, [ebp - 0x158]
push eax
push dword [0x1e02c460]
call esi
push dword [0x1e02c460]
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov dword [0x1e02c468], 1
pop esi
pop ebx
mov ecx, dword [ebp - 4]
pop edi
call fcn.1e01ab9b
leave
ret 0xc