Function at 0x427419
Capabilities:
Read file on windows

Disassembly:
mov al, al
mov al, byte [ebp + 0xb]
mov dl, dl
jmp 0x408627
push esi
mov ebx, ebx
mov ax, ax
mov byte [esi + 0xba], bl
mov byte [esi + 0xbb], al
mov ebx, ebx
mov word [esi + 0xbc], di
jne 0x421607
xchg ebx, eax
xchg ebx, eax
je 0x408650
cdq
xor dh, byte [esi - 0x704e7bf1]
add dword [eax], eax
je 0x421607
fmul dword [ebx + 0x68085e8b]
adc cl, byte [ebx - 0x263cffbf]
mov ch, 0x8b
pop ebp
inc eax
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
mov ax, word [ebp + eax]
mov bh, bh
lea esi, [esi + 0xc]
or word [ebx + edx], ax
jb 0x40ce88
shr di, 0x40
jmp dword [esi]
mov esi, dword [esi + 4]
mov esi, dword [esi]
jmp dword [esi]
mov ch, ch
jmp 0x40bae9
push esi
call dword [sym.imp.kernel32.dll_FreeLibrary]
pop edi
mov eax, ebx
pop esi
pop ebx
ret
mov dword [ebp + 0x4c], eax
mov ebx, dword [ebp + 0x38]
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x34]
mov esi, dword [ebp + 0x44]
mov eax, eax
call fcn.00429b78
fldcw word [ebp - 0x4341769a]
add byte [eax], al
add byte [edi], cl
test dword [0x7400005a], ebp
add bl, byte [esi]
push esi
jne 0x42b5a9
je 0x40ec34
add dword [esp + edx*4 + 0xf], ebp
test byte [edi - 0x37], ch
add dword [eax], eax
je 0x42b5a9
xor al, 0xd0
xchg dh, bl
xchg bl, dh
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
shr bx, 0x40
xchg dx, ax
xchg dx, ax
lea esi, [esi + 0xc]
stc
jmp 0x410303
jmp dword [esi]
jmp 0x408f93
sub di, 0
xor word [ebx], ax
jb 0x41f498
jmp dword [esi]
call fcn.00414737
jmp 0x41a83c
popfd
push ebx
pop ebx
mov ebx, 1
jno 0x40bae6
jo 0x414d44
cmpsd dword [esi], dword es:[edi]
pop edx
jo 0x40bae6
fcmove st(0), st(1)
sub esi, dword [ecx - 0x792d769a]
loop 0x414d32
aam 0xc0
in eax, dx
inc eax
mov eax, dword [esi + 4]
lea esi, [esi + 8]
mov edi, edi
mov eax, dword [eax]
mov dword [ebp + 0x50], esi
js 0x40cc0c
jns 0x414dc9
nop
cpuid
ret
jns 0x40cc0c
xor eax, 0x24448faa
cld
jb 0x40f8f0
jae 0x414de1
cpuid
ret
lea esi, [esi + 8]
jmp 0x40f8ea
mov dword [edi], ebx
jmp dword [esi]
xchg di, si
xchg si, di
mov byte [esi + 0xbb], dl
mov ebp, ebp
mov word [esi + 0xbc], di
jne 0x43069e
je 0x418b6e
lock and edi, dword [ecx - 0x14c072e6]
lea edi, [edi]
jmp 0x418b71
push esi
call fcn.0040f91c
les esp, [eax + 0x340040]
add byte [eax], al
xor al, 0
add byte [eax], al
stosb byte es:[edi], al
mov dl, 0x40
add byte [ecx], al
add byte [eax], al
add byte [eax + eax], ch
add byte [eax], al
ret
mov si, si
mov cl, byte [ebp + 0xc]
mov dx, word [ebp + 0x10]
jno 0x41c961
jo 0x419b59
sti
cmp dword [edi], ecx
add byte [edx], 0x2e
add byte [eax], al
jo 0x41c961
xor al, 0x4a
push 0x12
mov ecx, 0x500
xchg cl, dl
xchg dl, cl
mov edi, 0x470f60
push eax
push eax
rep stosd dword es:[edi], eax
shr ah, 0x40
shl bl, 0x20
push 0x45d010
js 0x41208e
jns 0x419b8d
cpuid
ret
jns 0x41208e
mov dword [ecx], 0x41db73
add al, 0
add byte [eax], al
out 0x4d, eax
inc edx
add dl, ch
dec esp
fimul dword [ecx]
xor al, 0
add byte [eax], al
cmp byte [ebx + 0x4cea0041], dl
fimul dword [ecx]
xor al, 0
add byte [eax], al
adc bl, byte [eax + 0x41]
add byte [eax + eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebp - 0x1affbddc], al
out dx, eax
inc ecx
add byte [ecx], bh
add byte [ebx], al
inc esp
add byte [eax], al
add ch, al
mov dl, 0x41
add byte [eax], al
inc eax
add byte [eax], al
xor byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
xor byte [eax + eax], 0
add byte [eax], al
and dword [eax], eax
add byte [edx + 0x48000000], al
fild word [eax]
add byte ss:[eax], 0x40
add byte [eax], al
add byte [0xbb000000], ch
mov ah, 0x41
add byte [eax], dh
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add byte [ebx + 0x380041b4], bh
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ecx], bh
add byte [ebx], al
inc eax
add byte [eax], al
add byte [ebx - 0x5cffbf76], bl
js 0x419c36
int1
inc eax
add byte [eax + eax], ch
add byte [eax], al
sub al, 0
add byte [eax], al
test dword [edx + eax*2], esp
add byte [eax], al
invalid
js 0x419b45
mov edx, edx
jns 0x41a848
jns 0x419b45
jns 0x419b45
add eax, 0x4300395b
add byte [eax], al
add byte [eax], al
wait
mov al, byte [eax]
sbb eax, 0x41b12f1c
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
add byte [ecx + 0x39], ah
inc ecx
add dh, dh
cmp byte [ecx], al
int 0xc4
inc edx
add byte [eax + ebp*4 + 0x41], bh
add byte [edx - 0x44], al
int 0xc4
inc edx
add dh, dh
cmp byte [ecx], al
jne 0x4116ed
je 0x41b6a1
add dword [edx + 0xf], 0xffffff84
inc esi
pushal
invalid
je 0x4116ed
add eax, 0x47e8bd8
shl dx, 0x20
lea esi, [esi + 8]
idiv word [ebx + edi]
shl bl, 0x20
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x34], edx
jmp dword [esi]
shl cl, 0x20
jmp 0x41c965
push eax
jne 0x42d828
shl ch, 0x20
je 0x41c975
add dword [ebx], ebp
jo 0x41c985
je 0x42d828
test byte [ebp - 0x25fffef2], ch
lodsd eax, dword [esi]
mov eax, dword [ebp + 0xc]
inc edi
fisubr dword [ebp + 0x470c458b]
jne 0x42ea36
add dword [eax], eax
xchg ebp, edx
xchg edx, ebp
je 0x41c991
cpuid
xor eax, ebx
je 0x42ea36
and eax, 0xf810f6a
add byte [eax], al
add byte [eax + 3], dh
adc al, 0x60
mov bx, bx
lea esi, [esi + 8]
jmp dword [esi]
xor al, 0x29
xor eax, 0xcd810f65
sbb eax, 0x370ffff
jmp 0x42eba0
jno 0x41b697
jo 0x421611
add ebp, dword [eax - 0x5f7f7ff1]
invalid
jo 0x41b697
mov dword [ecx], 0x7f87810f
invalid
adc ch, 0x8d
and al, 4
ja 0x418b4d
mov al, al
shr al, 0x40
shr esi, 0x40
jbe 0x42491d
in al, 0x68
ror byte [edi], 1
xchg byte [edx], ch
inc edx
invalid
jbe 0x418b4d
invalid
jmp 0x425112
push edi
call fcn.00427170
and eax, 0xffff
jb 0x42c6a0
push edi
mov dword [esi + 0x28], eax
call fcn.0041f951
add dh, 0
add esp, 8
jmp 0x407dc7
mov edx, edx
mov edi, dword [ebp + 8]
dec eax
cmp eax, 0xe9
ja 0x407db9
jbe 0x425779
push 0xf
mov byte [0xfc931c3], al
and byte [ebx], 0xf6
invalid
xor ecx, ecx
jb 0x414da4
mov cl, byte [eax + 0x40b71e]
jmp dword [ecx*4 + 0x40b6d6]
add byte [eax], cl
add byte [eax], al
dec eax
add byte [eax], al
add al, al
pop ss
inc edx
add byte [edi + ebx*2], ch
inc edx
add byte [edi], cl
mov byte [0x17c0c390], al
inc edx
add al, dh
sub eax, dword [ecx]
add eax, 0x66c08904
cmp eax, 0x850f0003
xchg ebp, eax
mov eax, dword [eax]
add byte [esp + eax - 8], dh
cmp ax, 3
jne 0x42ead7
je 0x425f48
clc
jge 0x425f17
jbe 0x425f58
jno 0x40ec28
sbb edx, 0x70fffe8c
add dl, bh
jo 0x425f52
xlatb
invalid
jo 0x40ec28
invalid
mov dword [0x75fffe6e], eax
add edx, ebx
bound ecx, qword [ecx + 0xf35fb80]
test byte [ebp + 0x75fffe6e], dl
add al, 0x5f
cpuid
ret
pop dword [esp - 4]
xor ebx, ebx
jb 0x42a3ce
call dword [sym.imp.kernel32.dll_LoadLibraryA]
shl dl, 0x20
mov esi, eax
add cx, 0xdc4a
sub cx, 0xdc4a
test esi, esi
jb 0x424904
jne 0x42aa8e
xchg ebp, esi
xchg esi, ebp
je 0x4273f5
jle 0x42738c
xor eax, 0x66966605
xchg esi, eax
xchg si, ax
xchg si, ax
pop esi
shr ch, 0x40
mov eax, 1
pop ebx
jne 0x42aa8b
mov ch, ch
je 0x427411
cpuid
xlatb
ret
je 0x42aa8b
or bl, 0x8d
and al, 4
push edx
mov bx, bx
push eax
call dword [sym.imp.kernel32.dll_ReadFile]
test eax, eax
jb 0x419df7
jne 0x42f781
shr ch, 0x40
je 0x42743e
xor eax, 0x12c35ddc
sbb ebp, ecx
cmp al, byte [ebx - 0x22270000]
jmp dword [esi]
pop ebp
ret
mov byte [esi + 0xba], bl
xchg di, dx
xchg dx, di
mov byte [esi + 0xbb], al
jne 0x40fdfe
je 0x427ae6
pop ebx
and eax, 0x8312840f
invalid
je 0x40fdfe
invalid
js 0x40861f
mov ebp, ebp
jns 0x428006
ficomp word [ebp - 0x76f0d965]
jns 0x40861f
invalid
jne 0x425f38
je 0x428782
aas
out 0x66, eax
shl edx, 0x20
shl dx, 0x20
push esi
mov bp, bp
call fcn.0040eb0f
mov cl, byte [ebp + 0xc]
xchg edx, eax
xchg edx, eax
shr bl, 0x40
mov dx, dx
mov bp, bp
mov dx, word [ebp + 0x10]
push eax
pop eax
push eax
push ecx
pop ecx
jmp 0x4287a7
push esi
xchg ecx, edx
xchg edx, ecx
xchg ecx, edx
xchg edx, ecx
mov byte [esi + 0xba], cl
lea ebx, [ebx]
mov byte [esi + 0xbb], 0
shl esi, 0x20
push eax
mov ax, cx
pop eax
mov word [esi + 0xbc], dx
mov dl, dl
call fcn.00428a18
jmp 0x427ff8
invalid
cmp ax, 4
jne 0x428778
je 0x42a5f0
mov dword [esi - 0x7d7bf06d], ebp
loope 0x42a5f4
je 0x428778
invalid
push dword [eax + edx*4]
xor al, 0x90
lds esi, [edx + 0x61000041]
add byte [eax + 0x30], al
add byte [ecx], ah
add byte [eax], al
test byte [eax], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax + eax], ch
add byte [eax], al
dec eax
fild word [eax]
cmp dword [eax], eax
inc ebx
add byte [eax], al
add byte [eax], al
wait
mov al, byte [eax]
aas
fsubr dword [edi]
mov cl, 0x41
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
add byte [edx - 0x5a], cl
inc ecx
add byte [edi - 0x32], dh
add byte [eax], al
sub al, 0
add byte [eax], al
push ebp
add byte [eax], 0x40
add byte [eax], al
add byte [eax + eax], ch
add byte [eax], al
cmp dword [eax], eax
inc ebx
add byte [eax], al
add byte [eax], al
wait
mov al, byte [eax]
dec ebx
push ebp
ret
jmp 0x42aa8f
push edi
mov edi, dword [sym.imp.kernel32.dll_GetProcAddress]
push 0x4633ce
shl edx, 0x20
call fcn.00416cd7
lea esp, [esp + 4]
jno 0x425111
jo 0x42aab4
cpuid
ret
jo 0x425111
fstp dword [ebx + 0x424648d]
xchg di, ax
xchg di, ax
ja 0x420731
jbe 0x42aad0
and cl, byte [ecx - 0x4f]
into
jbe 0x420731
invalid
call 0x40e294
xor eax, 0x126ff4d
fadd st(0), st(0)
in al, 0x20
movzx ebx, bx
js 0x4172fa
mov dx, dx
jns 0x42b5c9
cwde
and al, 0xce
mov word [edi], cs
mov dword [ebx], ebp
mov ebp, 0x84c7fffe
mov ebx, dword [ebp + 0x40]
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
jns 0x4172fa
mov dword [ebx + ecx*4 + 0x568b405d], 0x4468b08
lea esi, [esi + 0xc]
mov dword [ebx + edx], eax
jmp dword [esi]
push ebp
push cs
ja 0x41ab1f
jbe 0x42c6ae
int3
jbe 0x41ab1f
fsub dword [edx]
mov cl, byte [ebp + 0xc]
shl cx, 0x20
mov dx, word [ebp + 0x10]
jmp 0x42c6c2
push eax
shl ax, 0x20
jmp 0x42c6c9
push esi
xchg ch, bh
xchg bh, ch
mov bx, bx
mov byte [esi + 0xba], cl
mov byte [esi + 0xbb], 0
mov word [esi + 0xbc], dx
call fcn.00422d51
mov cx, cx
mov al, byte [ebp + 0xb]
jmp 0x42c6f2
push esi
jne 0x427aca
je 0x42c700
mov dh, 0x65
sub edi, esi
je 0x427aca
xor byte [esi + 0x66], 0xf7
and al, 0x3b
mov ax, ax
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x34], edx
shr eax, 0x40
mov dh, dh
jmp dword [esi]
jmp 0x42d829
push esi
mov byte [esi + 0xba], cl
mov dx, dx
ja 0x42dca1
jbe 0x42d840
stosb byte es:[edi], al
invalid
jbe 0x42dca1
invalid
mov di, di
cmp edi, eax
jb 0x40d8a3
jae 0x42ea44
inc ecx
xchg esi, eax
les ebp, [eax]
lea ebp, [ebp]
mov si, si
mov cl, byte [ebp + 0xc]
shr edx, 0x40
mov dx, word [ebp + 0x10]
call fcn.004306da
and eax, 0xffd2897d
cmc
mov ebp, esp
push ebx
shl ebp, 0x20
jmp 0x42eaf7
push esi
mov esi, dword [ebp + 0xc]
clc
xor eax, eax
jb 0x427c2b
xor ebx, ebx
jb 0x41cbfa
jmp 0x42eb0e
push edi
mov al, byte [esi + 0x16]
jmp 0x425762
jmp 0x40bf69
shr dh, 0x40
mov eax, dword [ebp + 0x10]
mov cx, cx
pop ebp
ret
stc
jb 0x4306a5
ljmp 0x3682:0xfc3a20f
jb 0x42a5e1
fcmovu st(0), st(0)