Function at 0x42e6d8
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcc
push ebx
push esi
push edi
call fcn.00406790
fstp st(0)
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3084], 0
jne 0x42e703
pop edi
mov eax, 0x92
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x8a0]
mov edx, dword [ebp + 8]
mov dword [ebp - 0xa8], ecx
fld qword [0x46f374]
lea ecx, [ecx - 1]
fst qword [ebp - 0xc8]
mov ebx, 1
cmp ecx, ebx
fstp qword [ebp - 0xb8]
mov edi, dword [edx + 0x308c]
mov esi, dword [edx + 0x3090]
jbe 0x42e779
fld qword [edi + ebx*8]
fcomp qword [ebp - 0xb8]
fnstsw ax
sahf
jae 0x42e756
fld qword [edi + ebx*8]
fstp qword [ebp - 0xb8]
fld qword [esi + ebx*8]
fcomp qword [ebp - 0xc8]
fnstsw ax
sahf
jae 0x42e76d
fld qword [esi + ebx*8]
fstp qword [ebp - 0xc8]
mov ecx, dword [ebp - 0xa8]
inc ebx
dec ecx
cmp ebx, ecx
jb 0x42e73f
fld qword [ebp - 0xb8]
fcomp qword [ebp - 0xc8]
fnstsw ax
sahf
jbe 0x42e7b6
mov ecx, dword [edx + 0x3098]
mov ebx, dword [edx + 0x3084]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [edx + 0x3094]
mov dword [ebp - 0x9c], ecx
mov edi, dword [edx + 0x3090]
mov esi, dword [edx + 0x308c]
jmp 0x42e7e0
mov ecx, dword [edx + 0x3094]
mov ebx, dword [edx + 0x3088]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [edx + 0x3098]
mov dword [ebp - 0x9c], ecx
mov edi, dword [edx + 0x308c]
mov esi, dword [edx + 0x3090]
push 0x46f39c
lea edx, [ebp - 0x48]
push edx
call fcn.004605d0
mov ecx, dword [ebp + 0xc]
mov dl, byte [ecx + reloc.USER32.DLL_GetClassLongA]
mov byte [ebp - 8], dl
lea edx, [ebp - 8]
mov byte [ebp - 7], 0x20
mov byte [ebp - 6], 0
push dword [0x46f3c0]
push dword [0x46f3bc]
push edx
push dword [0x46f3c0]
push dword [0x46f3bc]
push edx
lea edx, [ebp - 0x48]
push dword [0x46f3c0]
push dword [0x46f3bc]
push edx
lea edx, [ebp - 0x88]
push edx
call fcn.00460790
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x8a0]
mov dword [ebp - 0xa8], edx
add esp, 0x30
lea ecx, [ebp - 0x88]
push ecx
call fcn.00460634
add esp, 4
mov ecx, dword [ebp - 0xa8]
add ecx, 3
mul ecx
push eax
push 0x40
call dword [sym.imp.KERNEL32.DLL_GlobalAlloc]
test eax, eax
mov dword [ebp - 0x98], eax
jne 0x42e886
pop edi
mov eax, 0xffffff9f
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x46f3c4
lea edx, [ebp - 0x88]
mov dword [ebp - 0x90], ebx
push edx
call fcn.004605d0
lea ecx, [ebp - 0x88]
push ecx
call fcn.00460634
add esp, 4
lea edx, [ebp - 0x88]
push eax
push edx
mov dword [ebp - 0x8c], eax
push dword [ebp - 0x98]
call fcn.00460310
xor ebx, ebx
add esp, 0x14
cmp dword [ebp - 0xa8], ebx
je 0x42e9fb
mov ecx, dword [ebp - 0x90]
fld qword [ecx + ebx*8]
fld qword [esi + ebx*8]
fxch st(1)
fstp qword [ebp - 0xc0]
ftst
fnstsw ax
fstp st(0)
sahf
jne 0x42e909
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
jmp 0x42e915
fld qword [edi + ebx*8]
fdiv qword [esi + ebx*8]
fstp qword [ebp - 0xb8]
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
fld qword [edx + ebx*8]
fsub qword [ecx + ebx*8]
fst qword [ebp - 0xb0]
fld xword [0x46f3fc]
fcompp
fnstsw ax
sahf
jb 0x42e950
fld qword [ebp - 0xb0]
fld xword [0x46f37c]
faddp st(1)
fstp qword [ebp - 0xb0]
jmp 0x42e977
fld qword [ebp - 0xb0]
fld xword [0x46f408]
fcompp
fnstsw ax
sahf
jae 0x42e977
fld qword [ebp - 0xb0]
fld xword [0x46f37c]
fsubp st(1)
fstp qword [ebp - 0xb0]
push dword [ebp - 0xac]
lea edx, [ebp - 8]
lea ecx, [ebp - 0x48]
push dword [ebp - 0xb0]
push edx
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push edx
lea edx, [ebp - 0x88]
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push ecx
push edx
call fcn.00460790
lea ecx, [ebp - 0x88]
push ecx
call fcn.00460634
add esp, 4
lea edx, [ebp - 0x88]
push eax
push edx
mov ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x98]
mov dword [ebp - 0x94], eax
push ecx
call fcn.00460310
mov edx, dword [ebp - 0x94]
inc ebx
add dword [ebp - 0x8c], edx
add esp, 0x34
cmp ebx, dword [ebp - 0xa8]
jb 0x42e8d6
push 0x46f3f4
lea ecx, [ebp - 0x88]
push ecx
mov esi, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x98]
call fcn.004605d0
lea edx, [ebp - 0x88]
push edx
call fcn.00460634
add esp, 4
lea ecx, [ebp - 0x88]
push eax
lea edx, [edi + esi]
push ecx
mov dword [ebp - 0x94], eax
push edx
call fcn.00460310
lea ecx, [ebp - 0xa8]
push 0
push ecx
add esi, dword [ebp - 0x94]
push esi
push edi
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.DLL_WriteFile]
mov dword [ebp - 0xa4], eax
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov ebx, eax
push edi
call dword [sym.imp.KERNEL32.DLL_GlobalHandle]
push eax
call dword [sym.imp.KERNEL32.DLL_GlobalUnlock]
push edi
call dword [sym.imp.KERNEL32.DLL_GlobalHandle]
push eax
call dword [sym.imp.KERNEL32.DLL_GlobalFree]
add esp, 0x14
cmp dword [ebp - 0xa4], 0
je 0x42ea99
cmp dword [ebp - 0xa8], esi
je 0x42eaa5
pop edi
mov eax, 0x96
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
jne 0x42eab5
pop edi
mov eax, 0x98
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00406790
fstp st(0)
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret