Function at 0x50001984
Capabilities:
Get file size
Move file

Disassembly:
add ecx, dword [0x6e755254]
je 0x500019f5
insd dword es:[edi], dx
inc ebp
jb 0x50001a03
outsd dx, dword [esi]
jb 0x50001995
add byte [eax], al
add byte [eax], al
sbb al, byte [eax]
add byte [eax], al
sbb byte [ecx], 0
push eax
push es
add byte [eax], al
add byte [edx], bl
add byte [eax], al
add byte [eax + 0x6500019], al
jb 0x50001a08
dec esi
outsd dx, dword [esi]
outsb dx, byte [esi]
or eax, 0x754f6572
je 0x500019fd
dec bp
insd dword es:[edi], dx
outsd dx, dword [esi]
jb 0x50001a2e
or al, 0x72
dec ecx
outsb dx, byte [esi]
jbe 0x50001a1d
insb byte es:[edi], dx
imul esp, dword [eax + edx*2 + 0x74], 0x65720b72
inc esp
imul esi, dword [esi + 0x42], 0x72655a79
outsd dx, dword [esi]
or al, 0x72
push edx
popal
outsb dx, byte [esi]
inc ebp
jb 0x50001a4b
outsd dx, dword [esi]
jb 0x500019e9
jb 0x50001a43
dec ecx
outsb dx, byte [esi]
je 0x50001a31
jbe 0x50001a49
jb 0x50001a4c
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x500019f5
or esi, dword [edx + 0x65]
jb 0x50001a51
dec ecx
outsb dx, byte [esi]
jbe 0x50001a51
insb byte es:[edi], dx
imul esp, dword [edi + ecx*2 + 0x70], 0x5a65720c
or al, 0x72
pop edx
jb 0x50001a6b
inc esp
imul esi, dword [esi + 0x69], 0x720a6564
dec edi
jb 0x50001a6a
dec edi
jbe 0x50001a6d
jb 0x50001a70
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x50001a19
jb 0x50001a75
push ebp
outsb dx, byte [esi]
jb 0x50001a7c
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x50001a27
or eax, 0x6e496572
jb 0x50001a81
dec ecx
outsb dx, byte [esi]
jbe 0x50001a81
insb byte es:[edi], dx
imul esp, dword [ebx + eax*2 + 0x61], 0x72117473
inc ecx
adc dword [edx + 0x65], esi
inc ecx
arpl word [ebx + 0x65], sp
jae 0x50001aa3
push esi
imul ebp, dword [edi + 0x6c], 0x6f697461
outsb dx, byte [esi]
adc dword [edx + 0x65], esi
push eax
jb 0x50001aa8
jbe 0x50001a8a
outsb dx, byte [esi]
jae 0x50001ab8
je 0x50001ab7
jb 0x50001abb
jne 0x50001aaa
arpl word [ecx + ebp*2 + 0x6f], si
je 0x50001ab2
outsd dx, dword [esi]
outsb dx, byte [esi]
push cs
jb 0x50001ab3
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x50001ac5
outsd dx, dword [esi]
insb byte es:[edi], dx
inc edx
jb 0x50001abd
popal
imul ecx, dword [edi], 0x72
push ebx
je 0x50001ac1
arpl word [ebx + 0x4f], bp
jbe 0x50001aca
jb 0x50001acd
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x50001a78
or eax, 0x61566572
jb 0x50001ad2
push esi
popal
jb 0x50001ac5
push esp
jns 0x50001ae3
inc ebx
popal
jae 0x50001aec
push cs
jb 0x50001ae0
push esi
popal
jb 0x50001ac8
outsb dx, byte [esi]
jbe 0x50001ae3
popal
insb byte es:[edi], dx
imul esp, dword [edi + ecx*2 + 0x70], 0x5665720d
push esi
popal
jb 0x50001ad2
imul esi, dword [ebx + 0x70], 0x68637461
adc byte [edx + 0x65], dh
push esi
popal
jb 0x50001add
jb 0x50001b10
popal
jns 0x50001ae4
jb 0x50001b08
popal
je 0x50001b0b
or eax, 0x61566572
push esi
popal
jb 0x50001afb
outsd dx, dword [esi]
je 0x50001af1
jb 0x50001b24
popal
jns 0x50001ac5
jb 0x50001b1c
push esi
popal
jb 0x50001afc
jb 0x50001b2f
popal
jns 0x50001b02
outsd dx, dword [esi]
jne 0x50001b31
jae 0x50001ad7
adc dword [edx + 0x65], esi
jb 0x50001b2d
inc ecx
jae 0x50001b3e
jae 0x50001b31
jb 0x50001b42
jb 0x50001b42
je sym.rtl120.bpl__System_TextStart_qqrv
imul ebp, dword [edi + 0x6e], 0x6c696146
adc esi, dword fs:[edx + 0x65]
outsd dx, dword [esi]
outsb dx, byte [esi]
inc esi
popal
imul ebp, dword [ebp + 0x64], 0x45657213
adc esi, dword [edx + 0x65]
inc ebp
js 0x50001b51
jb 0x50001b4e
popal
insb byte es:[edi], dx
inc ebp
js 0x50001b48
arpl word [ebp + 0x70], sp
je 0x50001b52
jo fcn.50001b5c
imul ebp, dword [edi + 0x6e], 0x4965720f
outsd dx, dword [esi]
outsb dx, byte [esi]
invalid
jb 0x50001b53
dec ecx
outsb dx, byte [esi]
je 0x50001b58
inc bx
inc ebx
popal
jae 0x50001b6a
inc ebp
jb 0x50001b6b
outsd dx, dword [esi]
jb 0x50001b0b
invalid
jb 0x50001b63
push ebx
popal
inc bx
inc ebx
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
inc ebp
jb 0x50001b7b
jb 0x50001b79
outsd dx, dword [esi]
jb 0x50001b1e
adc dh, byte [edx + 0x65]
jb 0x50001b73
dec ebp
outsd dx, dword [esi]
outsb dx, byte [esi]
imul esi, dword [edi + ebp*2 + 0x72], 0x4c746f4e
outsd dx, dword [esi]
arpl word [ebx + 0x65], bp
adc dh, byte fs:[edx + 0x65]
adc dh, byte fs:[edx + 0x65]
adc dh, byte [edx + 0x65]
dec esi
outsd dx, dword [esi]
dec ebp
outsd dx, dword [esi]
outsb dx, byte [esi]
imul esi, dword [edi + ebp*2 + 0x72], 0x70707553
outsd dx, dword [esi]
jo 0x50001b9e
jb 0x50001ba5
push es
push ebx
jns 0x50001ba8
je fcn.50001b9c
insd dword es:[edi], dx
sbb byte [eax - 0x3f74aff6], ch
mov eax, eax
or dl, byte [eax - 0x75]
sar bh, 0x25
adc byte [eax - 0x3f74aff6], ch
push eax
mov eax, eax
sar bh, 0x25
or al, 0xa8
or dl, byte [eax - 0x75]
sar bh, 0x25
jmp dword [sym.imp.kernel32.dll_GetFileSize]
mov eax, eax
test al, 0xa
push eax
mov eax, eax
sar bh, 0x25
add al, 0xa8
or dl, byte [eax - 0x75]
test al, 0xa
push eax
mov eax, eax
sar bh, 0x25
add byte [eax - 0x3f74aff6], ch
jmp dword [sym.imp.kernel32.dll_RaiseException]
sar bh, 0x25
cld
cmpsd dword [esi], dword es:[edi]
or dl, byte [eax - 0x75]
push eax
mov eax, eax
sar bh, 0x25
clc
cmpsd dword [esi], dword es:[edi]
or dl, byte [eax - 0x75]
sar bh, 0x25
hlt
call 0xdb50264a
invalid